引入
本文是matplotlib相关的速查表汇总。
一幅图的结构
python是面向对象的,同样利用matplotlib画图从面向对象的角度更容易理解。
- Figure对象
可看成是一个画布。有了画布之后,才能在上面画各种图。 - Axes对象
即想画的图。那么这个图肯定要包含许多信息,比如曲线,坐标轴,标题,图例,注释等。这些就是Axes对象包含的属性,它们也是各种对象。比如Line2D,XAxis,YAxis
所以所谓画图,就是去设置Axes的各种属性。Axes的所有属性见官方文档。
更具体如下图:
常用Line2D属性
常用属性值
设置实例
ax.plot(np.arange(6), color='b', linestyle='--', marker='+')
ax.plot(np.arange(6), 'b--+') #可通过符号标记快速设置,与上句等价
常用设置
ax.set_xlabel('x') #设置x轴名称
ax.set_ylabel('y') #设置y轴名称
ax.set_title('title') #设置标题
ax.legend() #设置图例:
#方法1:ax.plot(x1,y1,label='label1',x2,y2,label='label1') ax.legend()
#方法2:ax.plot(x1,y1,,x2,y2) ax.legend(('label1', 'label2'))
#可设置图例位置属性:ax.legend(loc='best'),其他位置包括:'upper right','upper left',
'lower right','lower left','center'等
ax.set_xlim(0,5) #设置x轴范围
ax.set_ylim(0,5) #设置y轴范围
ax.set_xticks((0, 2, 4, 6)) #设置x轴刻度
ax.set_xticks((0, 2, 4, 6)) #设置y轴刻度
ax.set_xticklabels(labels=['x1','x2','x3','x4'],rotation=30,fontsize='small') #设置x刻度的显示文本
ax.set_yticklabels() #设置y刻度的显示文本,同上
ax.text() #指定位置显示文本
ax.annotate() #添加标注,参数:注释文本、指向点、文字位置、箭头属性
ax.grid() #显示网格