plt.xxx()与 ax.xxx()
Matlibplot 架构有三大层次,如下图所示,从左至右分别是脚本层(Scripting layer,matplotlib.pyplot
模块)、艺术家层(Artist layer,matplotlib.artist
模块)和后端层(Backend layer,matplotlib.backend_bases
模块)。应当指出,越靠近左侧的层次,绘图操作越抽象。
Matlibplot 架构
后端层通过与wxPython[1]和绘图语言(例如 PostScript)通信实现绘图的复杂处理操作。在这三个层次中,该层是最为复杂的。后端层FigureCanvas
是图形绘制区域,而Renderer
是一个关于如何在FigureCanvas
上绘制的对象。普通用户无需考虑这一层的处理。若需了解更多关于底层架构的内容,请参考创始人和现任首席开发人员文章[2]。
而后便是中间层——艺术家层(Artist layer). ax.xxx()
语法的来源便基于此。顾名思义,在这一层上可以如同艺术家在画纸上一样控制和微调图形元素。这些元素包括坐标轴(spines[3])、刻度线方向