matplotlib
matplotlib库是常用的可视化工具,可制作的各种图表
import matplotlib.pyplot as plt
2D绘图
简单的折线图
squares = [1, 4, 9, 16, 25]plt.plot(squares) plt.show()
创建了一个列表squares,在其中存储了前述平方数,再将这个列表传递给函数plot(),默认横坐标为[0,1,2,3,4],这个函数尝试根据这些数字绘制出有意义的图形。plt.show()打matplotlib查看器,并显示绘制的图形;
换成下列代码运行结果同上图一致:
input_values = [0, 1, 2, 3, 4]plt.plot(input_values,squares)
2.设置图表标题,给坐标轴加上标签,设置刻度标记的大小,隐藏坐标轴
squares = [1, 4, 9, 16, 25]plt.plot(squares,color='r',linewidth=5) # 设置图表标题,并给坐标轴加上标签 plt.title("Square Numbers", fontsize=24) plt.xlabel("Valumatplotlib中subplote", fontsize=14) plt.ylabel("Square of Value", fontsize=14) # 设置刻度标记的大小 plt.tick_params(axis='both', labelsize=14)plt.show()
1.参数linewidth 决定了plot()绘制的线条的粗细;
2.函数title()给图表指定标题;
3.参数fontsize指定了图表中文字的大小;
4.函数xlabel()和ylabel()让你能够为每条轴设置标题;
5.函数tick_params()设置刻度的样式,其中指定的实参将影响x轴和y轴上的刻度(axes='b
oth'),并将刻度标记的字号设置为14(labelsize=14);
6. # 隐藏坐标轴plt.axes().get_xaxis().set_visible(False) plt.axes().get_yaxis().set_visible(False)
3. figure函数,grid函数
plt.figure(figsize=(10,5))y=np.arange(0,10) plt.plot(y.cumsum()) id() plt.show()
1.函数figure(dpi, figsize)用于指定图表的宽度、高度、分辨率和背景;
2.需要给形参figsize指定一个元组,向matplotlib指出绘图窗口的尺寸,单位为英寸;
3.Python假定屏幕分辨率为80像素/英寸,如果上述代码指定的图表尺寸不合适,可根据需要调整其中的数字;
4.如果知道自己的系统的分辨率,可使用形参dpi向figure()传递该分辨率,以有效地利用可用的屏幕空间,如:plt.figure(dpi=128, figsize=(10, 6));
5.ndarray对象的cumsum方法为累加和;
6.grid(True)用来绘制网格;
4.使用scatter()绘制散点图
plt.scatter(1, 4, s=200, c='g', marker='o')plt.show()
1.绘制一个坐标为(2,4)的点,颜:green,大小:200;
2.marker=’o’代表圆形标记,’v’代表下三角形标记;
5. 修改数据点的颜
x_values = [1, 2, 3, 4, 5]y_values = [1, 4, 9, 16, 25] plt.scatter(x_values, y_values, s=100,c='r') plt.show()
1.绘制的点的坐标分别为 (1, 1)、(2, 4)、(3, 9)、(4, 16)和(5, 25);
2.要修改数据点的颜,可向scatter()传递参数c,如c='red',或者将其设置为一个元组,其中包含三个0~1之间的小数值,它们分别表示红、绿和蓝分量;
6. 设置每个坐标轴的取值范围,删除数据点的轮廓
x_values = range(1, 11)y_values = [x**2 for x in x_values] plt.scatter(x_values, y_values, s=40)
# 设置每个坐标轴的取值范围plt.axis([0, 11, 0, 110])
plt.show()
1.手工计算列表要包含的值可能效率低下,需要绘制的点很多时尤其如此。可以不必手工计算包含点坐标的列表,而让Python循环来替我们完成这种计算;
2.函数axis()要求提供四个值:x和y坐标轴的最小值和最大值;
3.plt.axis([0, 11, 0, 110])与plt.xlim(0,11),plt.ylim(0,110)等价;
4.要删除数据点的轮廓,可在调用scatter()时传递实参edgecolor='none';
7. 颜映射
x_values = range(1, 20)y_values = [x**2 for x in x_values] plt.scatter(x_values, y_values, c=y_values, cmBlues, edgecolor='none', s=40) plt.axis([0, 21, 0, 410]) plt.show()
1.颜映射(colormap)是一系列颜,它们从起始颜渐变到结束颜。在可视化中,颜映射用于突出数据的规律,例如,你可能用较浅的颜来显示较小的值,并使用较深的颜来显示较大的值;
2.将参数c设置成了一个y值列表,并使用参数cmap告诉pyplot使用哪个颜映射,这些代码将y值较小的点显示为浅蓝,并将y值较大的点显示为深蓝;
8. 将图表保存到文件
plt.savefig('squares_plot.png', bbox_inches='tight')
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论