Python画图步骤

您所在的位置:网站首页 湖北日报传媒集团事业单位有编制吗 Python画图步骤

Python画图步骤

2023-08-09 20:23| 来源: 网络整理| 查看: 265

如果你是新手,不会使用Python作图,那么看完这篇文章,你将会掌握作图的步骤和规律。

第一步:导入包 import matplotlib.pyplot as plt 第二步:创建Figure fig = plt.figure() 其中,可选参数figsize可以控制的图片大小,fig = plt.figure(figsize=(8,4)) 第三步:创建子图 不能通过空Figure绘图,需调用add_subplot创建一个或多个subplot: ax1 = fig.add_subplot(2,2,1) ax2 = fig.add_subplot(2,2,2) ax3 = fig.add_subplot(2,2,3) 三个子图 其中,ax1 = fig.add_subplot(2,2,1) 的参数表示构建2x2的子图中的第1个。

当然,如果我们只需要写画一个图的话,只要ax = fig.add_subplot(1,1,1)即可。 第四步:画曲线图 ax.plot(x, y, 'g--') x,y表示对应要作图的x轴和y轴的坐标,‘g–’ 是用来指定颜色和线型,这里为绿色虚线。 也可以通过这种显示的表达: ax.plot(x, y, linestyle='--', color='g') 第五步:显示图形 plt.show() 如果在调用该函数时,发现并没有显示图片的话,可以在创建figure前加上plt.close().

合并代码:

import numpy as np #第一步:导入matplotlib包 import matplotlib.pyplot as plt #构造一些二维的点,你可以使用自己的数据 x = np.linspace(0, 2*np.pi, 50) y = np.sin(x) #第二步:创建Figure fig = plt.figure(figsize=(8,6)) #第三步:创建子图 ax = fig.add_subplot(1, 1, 1) #第四步:画曲线图 ax.plot(x, y, 'g--') #第五步:显示图形 plt.show()

初步的图 其他 上面几步可以做出最基本的图,下面可以进行更好的修饰图片:

图片背景颜色 plt.figure(facecolor='#B7B7B7')控制外面大图的背景,颜色代码可点击参考资料 fig.add_subplot(1, 1, 1, axisbg='#FFFACD')控制小图的背景色(覆盖在figure创建的图层上)

设置x轴y轴坐标范围 ax.axis([0, 2*np.pi, -1.2, 1.5])对应参数表示[xmin, xmax, ymin, ymax]

在图中添加文本注释 ax.text(3, 0.2, 'x=3')表示在(3, 0.2)处添加文本’x=3’

标签 ax.set_xlabel('x value')添加坐标轴的标签 ax.set_title('My plot', fontsize=14)添加标题, fontsize为标题字体大小

添加图例 ax.legend(loc='best')loc表示图例的位置,’best’为自适应最佳位置

打开栅格 ax.grid(True)

单独标出某个点 ax.plot(point_x, point_y, 'ro')表示在(point_x, point_y)处标了一个红色的点

带箭头指向的文本注释 ax.annotate('max', xy=(point_x, point_y), xytext=(2.0, 1.3),\ arrowprops=dict(facecolor='g', headwidth=12, width=5))表示在(point_x, point_y)处标了一个红色的点 其中,xy对应箭头指向的点,xytext对应文本位置,arrowprops控制箭头属性 更多annotate文本注释内容可点击参考资料

修改坐标轴刻度 ax.set_xticks([0, 1, 2, 3, 4, 5]) ax.set_xticklabels(['zero','one','two','three','four','five'], rotation=30, fontsize='small')将原来的x轴[0, 1, 2, 3, 4, 5]替换为自定义的[‘zero’,’one’,’two’,’three’,’four’,’five’],rotation为旋转角度,fontsize为字体

完整代码如下:

import numpy as np #第一步:导入matplotlib包 import matplotlib.pyplot as plt #构造一些二维的点,你可以使用自己的数据 #在0和2*pi之间产生50个均匀分布,赋值给x x = np.linspace(0, 2*np.pi, 50) y1 = np.sin(x) y2 = np.cos(x) #第二步:创建Figure #facecolor控制外面大图的背景 fig = plt.figure(figsize=(8,6), facecolor='#B7B7B7') #第三步:创建子图 #axisbg控制小图的背景色(覆盖在figure创建的图层上) ax = fig.add_subplot(1, 1, 1, axisbg='#FFFACD') #第四步:画曲线图 #label用来给这条曲线做标签,调用legend()可以显示 ax.plot(x, y1, 'b-', label='sin(x)') #画y1图像 ax.plot(x, y2, 'r--', label='cos(x)') #画y2图像 #设置x轴y轴坐标范围,[xmin, xmax, ymin, ymax] ax.axis([0, 2*np.pi, -1.2, 1.5]) #在图中添加文本注释 ax.text(3, 0.2, 'x=3') #添加标签 ax.set_xlabel('x value') #x轴的标签 ax.set_ylabel('y value') #y轴的标签 ax.set_title('My plot', fontsize=14) #标题 #添加图例 ax.legend(loc='best') #loc表示图例的位置 #打开栅格 ax.grid(True) point_x = np.pi/2.0 #待标注点(point_x,point_y) point_y = 1 ax.plot(point_x, point_y, 'ro') #先画点 #再画箭头,xy对应箭头指向的点,xytext对应文本位置,arrowprops控制箭头属性 ax.annotate('max', xy=(point_x, point_y), xytext=(2.0, 1.3),\ arrowprops=dict(facecolor='g', headwidth=12, width=5)) #如果需要修改坐标轴刻度,可以使用下面2句 #ax.set_xticks([0, 1, 2, 3, 4, 5]) #ax.set_xticklabels(['zero','one','two','three','four','five'], rotation=30, fontsize='small') #第五步:显示图形 plt.show()

完整代码图片

以上方法是参考《利用Python进行数据分析》和网上一些资料自己总结的。

我们还可以采用另外一种画图方法,稍有不同,简单介绍一下:

#方法二,稍有不同 import numpy as np #导入matplotlib包 import matplotlib.pyplot as plt #构造一些二维的点,你可以使用自己的数据 #在0和2*pi之间产生50个均匀分布,赋值给x x = np.linspace(0, 2*np.pi, 50) y1 = np.sin(x) y2 = np.cos(x) y3 = y1 + y2 #创建Figure fig = plt.figure(figsize=(10,8)) #我们创建3个子图 #前面2个数'22'表示2x2的子图,第3个数'1'表示在第1个子图中绘图 plt.subplot(221) #另一种设置x轴y轴坐标范围的方法 plt.xlim([0, 2*np.pi]) #设置x轴范围 plt.ylim([-1.2, 1.2]) plt.grid(True) #打开栅格 plt.plot(x, y1) plt.subplot(222) #用plt也可以同时设置x,y轴坐标 plt.axis([0, 2*np.pi, -1.2, 1.2]) plt.plot(x, y2) #可以通过axisbg参数设置图片的背景色 plt.subplot(223, axisbg='#FAFAD2') plt.plot(x, y3) plt.show()

方法二图片

参考资料:《利用Python进行数据分析》第8章

后记: 欢迎点赞,评论和转发,转载请注明出处! 这是我的第一篇博客,每一篇博客我都会用心去写。这不仅是一个记录和分享的过程,同时也是见证自我成长的过程。如果您发现有什么错误,请及时指出来。最后,希望我的博客对你有些许的帮助。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3