plt
库进行画布(figure)相关操作plt.figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, clear=False)
重要参数包括:
plt.draw()
对于支持交互类型(interactive model)的 backend,如果已经开启了交互类型(ion()),则不需要每次调用。
plt.show()
绘制画布,对于支持交互类型的 backend,没有作用;对于非交互类型(non-interactive model)的 backend,则立即显示画布,直至画布被关闭。
plt.savefig(fname, dpi=None, facecolor='w', edgecolor='w', orientation='portrait', papertype=None, format=None, transparent=False, metadata=None)
重要参数包括:
plt.clf()
plt.close()
参数可以是:
作用 | 函数 |
---|---|
获取当前的画布(figure) | plt.gcf() |
返回当前所有画布的标签列表 | plt.get_figlabels() |
返回当前所有画布的编号 | plt.get_fignums() |
plt.suptitle(t, **kwargs)
重要参数说明:
matplotlib.figure.Figure
就是 matplotlib 的画布类,通过这个类的对象其实可以完成 plt
中封装的画布相关的所有功能。
感兴趣的朋友可以通过 https://matplotlib.org/api/_as_gen/matplotlib.figure.Figure.html#matplotlib.figure.Figure 来了解详情。但是为了突出“实用”,减少学习成本,建议还是主要通过 plt
来操作画布,唯一需要解决的问题就是如何切换当前画布,如下举例说明:
>>> f1 = plt.figure() # 创建画布 1
>>> f2 = plt.figure() # 创建画布 2
>>> f3 = plt.figure() # 创建画布 3
>>> f3 == plt.gcf() # 当前画布是 f3
True
>>> plt.get_fignums() # 获取画布编号列表
[1, 2, 3]
>>> f = plt.figure(num = 1) # 通过 figure(num = 编号) 引用编号为 1 的画布
>>> f1 == f # f1 和 f 指向了同一 Figure 对象
True
>>> f1 == plt.gcf() # 当前画布已经切换成了 f1
True
plt
库进行多图表操作plt.subplot()
将画布(Figure)分割成若干块,并选择其中的一块作为绘制的区域。有两种基本调用方式:
subplot(行, 列, 序号)
其中的行、列即行数和列数,序号从左上角开始向右再向下,起始于 1subplot(位置信息)
一个三位数,三位的含义分别为行、列、序号其他参数:
plt.subplot2grid(shape, loc, rowspan=1, colspan=1, fig=None, **kwargs)
将画布(Figure)分割成特定的 MxN 的若干小格,并指定其中某些格子作为绘制的区域。重要参数说明:
plt.subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, subplot_kw=None, gridspec_kw=None, **fig_kw)
创建一个画布(Figure)和一系列的子图表,重要参数说明:
返回值包括:
plt.subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=None, hspace=None)
调整子图表的一些布局:
plt.twinx(ax=None)
和 plt.twiny(ax=None)
创建一个共用 x 或 y 轴的图表,新的图表会叠加在 ax 上(如果 ax 为 None 即叠加到当前的图表上),新图表的 y 或 x 轴 会放在右侧或顶部
plt.axes(arg=None, **kwargs)
调用方式:
plt.axes()
plt.axes(rect, projection=None, **kwargs)
plt.axes(ax)
重要参数说明:
plt.subplot(111, **kwargs)
plt.gca(**kwargs)
获取当前画布中的图表列表,如果设置了 kwargs,则根据这些参数进行过滤。如果过滤结果为空,那么就创建一个符合条件的图表并返回
plt.sca(ax)
设置当前图表为 ax,并把 ax 所属的画布设为当前画布
plt.delaxes(ax = None)
如果参数为空,删除当前图表,否则删除 ax 定义的图表
系列文章:
matplotlib 使用简明教程(一)-基础概念:
https://blog.csdn.net/fenghuizhidao/article/details/79352882
matplotlib 使用简明教程(二)-常用图表
https://blog.csdn.net/fenghuizhidao/article/details/83090043
matplotlib 使用简明教程(三)-一些专业图表简介
https://blog.csdn.net/fenghuizhidao/article/details/83090165
matplotlib 使用简明教程(四)-辅助性元件
https://blog.csdn.net/fenghuizhidao/article/details/83090249
matplotlib 使用简明教程(五)-画布、图表、元素基础操作
https://blog.csdn.net/fenghuizhidao/article/details/83090320
matplotlib 使用简明教程(六)-图像、动画相关
https://blog.csdn.net/fenghuizhidao/article/details/83090512
matplotlib 使用简明教程(七)-样式定义
https://blog.csdn.net/fenghuizhidao/article/details/83090553