本文主要介绍一下matplotlib绘图,首先我们应该明白matplotlib绘图的层次结构,如下所示
figure对象可以包含多个axes对象(画布),axes对象即为我们平时所见的xy坐标下的一副图,axes对象包含许多元素,像label,title,legend等等,我们只需将我们需要的元素添加进去或者设置即可,至于原始数据我们可以自己输入,也可以通过相应的函数从文档中读取。下面贴一下第二幅图的代码:
fig1=plt.figure()
axes=fig1.add_axes([0.15,0.1,0.8,0.8])#在figure对象里边添加一个画布,并设置画布大小
axes.set_xlabel('thickness')
axes.set_ylabel('residual stress')
nb_listy=[-138,-49,19,158,95,-65,202]#数据
abs_nb_listy=map(abs,nb_listy)#求绝对值
nb_listx=[0,0.4,0.6,0.9,1.2,1.6,2]#数据
axes.plot(nb_listx,abs_nb_listy,color='red',marker='o',markerfacecolor='purple',markeredgecolor='blue',label='no vibration')
hb_listy=[-87,-59,74,236,-11,-21,166]#数据
abs_hb_listy=map(abs,hb_listy)#求绝对值
hb_listx=[0,0.3,0.6,1,1.3,1.6,2]#数据
axes.plot(hb_listx,abs_hb_listy,color='green',marker='s',markerfacecolor='purple',markeredgecolor='blue',label='20Hz vibration')
handles, labels = axes.get_legend_handles_labels()#返回两个参数(用于生成图例)
axes.legend(handles[::-1],labels[::-1])#生成图例
axes.set_title('Residual stress along thickness')#设置标题
fig1.savefig("C:\\Users\\wyf\\Desktop\\bishe\\20180712\\figure1.png",dpi=300)#保存,设置路径和像素
只要弄清了matplotlib的层次结构,结合百度,画起图来还是很容易的。
领取专属 10元无门槛券
私享最新 技术干货