提到Python的可视化,那一定无法忽视matplotlib库的存在。对于初学者来说,掌握它就已经足够应付大多数场合的使用了。并且一些针对气象绘图出现的库如metpy、psyplot等基本都需要结合matplotlib库使用,可以说它在Python绘图领域一枝独秀,那么今天就来了解一下它的基本操作吧!
1.Matplotlib绘图结构
上述是matplotlib官网给出的解释其绘图结构的图,对照上图可以大致得到想要改动部分的函数,实际应用中,如果想要更改某一部分的设置,就可以对照上图查找具体更改的是哪一部分内容,再对照改动。例如想更改图例,可以发现图例部分上图用legend表示了出来,那么就可以在官方文档下查找legend的使用方法。在那么,实际画图过程中的具体流程是怎样的呢?
2.绘图基本流程
与之前介绍过的NCL、Matlab等软件类似,其画图逻辑也是基于Figure和Axes,即Figure是创建的准备用来进行绘图的画布,而Axes可以用来设置画图时,真正需要用到的画布上的区域,每个Figure通常包含至少一个Axes。绘图基本流程大致为:
A.创建Figure画布
B.创建子图Axes对象
C.调用相应的函数绘制图形
D.设置图例legend、x/y坐标轴、网格grid
E.设置标题title、文本text、注释annotate
F. plt.savefig()保存图形
G.plt.show()显示图形,绘制结束
用一段官网上的代码来理解:
#导入库import matplotlibimport matplotlib.pyplot as pltimport numpy as np# 准备绘图数据t = np.arange(0.0, 2.0, 0.01)s = 1 + np.sin(2 * np.pi * t)#设置绘图区域fig, ax = plt.subplots()#绘制折线图ax.plot(t, s)#设置网格ax.grid()#设置坐标轴标签和标题ax.set(xlabel='time (s)', ylabel='voltage (mV)', title='About as simple as it gets, folks')#保存图形fig.savefig("test.png")#显示图像plt.show()
关于图上属性的常用设置函数可以参考以下:
ax.set_xlabel('xname') #设置x轴名称ax.set_ylabel('yname') #设置y轴名称ax.set_title('title') #设置标题ax.legend() #设置图例: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'