Matplotlib的三层结构主要包括:
-
1)容器层
容器层包含(1)画板层Canvas(2)画布层 Figure(3)绘图区/坐标系Axes
- Canvas是位于最底层的系统层,在绘图的过程中充当画板的角色,即放置画布(Figure)的工具。
- Figure是 Canvas上方的第一层,也是需要用户来操作的应用层的第一层,在绘图的过程中充当画布的角色。
- Axes是应用层的第二层,在绘图的过程中相当于画布上的坐标系/绘图区的角色,可以通过使用plt.subplots()来分割画布来得到若干个坐标系/绘图区,返回的是绘画区的列表,通过调用列表中每个绘画区在对应的位置画图;注意:设置绘画区的编号应该从编号1开始的。坐标系Axis这个很容易和Axes混淆,实际上它是位于每个Axes上,可以通过其设置显示图形所在坐标轴的大小、刻度、刻度标签。
使用Axis来设置坐标轴的大小:
plt.figure("test")
plt.axis([-10, 20,-10,20])
plt.scatter(range(10),range(10))
可以明显看到x轴的刻度从-10开始,到20结束; y轴的刻度也是从-10开始,到20结束。
-
2)辅助显示层
在这一层,用户可以设置添加标题、网格、图例等对图形的描述信息,它不会影响图形的显示效果。
-
3)图像层
在该层,正式绘图(直方图、折线图、散点图、饼状图)
注意:Matplotlib的三层结构是按层堆叠的。