Python之Matplotlib库学习细节补充
关于经常使用的 fig, ax = plt.subplots()
在使用 matplotlib 画图时经常使用 fig, ax = plt.subplots()
其中 fig 是Figure类实例, 是所有绘图元素的顶级容器. 可以在后续用于保存图片或者对图片进行其他操作.
一般日常使用中我们只会用到 ax, ax是Axes类实例, 一般用于绘图, 包含大多数图形元素Axis, Tick, Line2D, Text, Polygon等, 并设置坐标系.
plt.subplots() 实际上是相当于 plt.subplots(1, 1), 创建一个 1×1 的画布, ax只能表示一个子图. 如果创建多子图的画布的话, 建议这样表示 fig, axes = plt.subplots(m, n)
, axes是一个 m×n 的数组, 表示 m×n 个子图.
关于图例 legend
设置图例
一般只要在绘制时给每个数据加个 title, 再在后面 plt.show()
之前加一句 plt.legend()
即可.
这里详细谈一谈 plt.legend
不带参数调用 legend 会自动获取图例句柄及相关标签, 此函数等同于:
1 | handles, labels = ax.get_legend_handles_labels() |
为完全控制要添加的图例句柄, 通常将适当的句柄直接传递给 legend: plt.legend(handles=[l1, l2])
, 也可以手动设置标签 plt.legend(handles=[l1, l2], labels=['up', 'down'])
图例的位置
图例的位置可以通过关键字参数loc指定. 当我们指定 loc = ‘upper right’,legend 图例将在右上角展示.
你还可以指定 loc 在任何你想要指定的位置 plt.legend(handles=[l1, l2], labels=['up', 'down'], loc='lower right')
其中 loc 的参数如下:
数字 | 字符 | 数字 | 字符 | 数字 | 字符 |
---|---|---|---|---|---|
0 | ‘best’ | 1 | ‘upper right’ | 2 | ‘upper left’ |
3 | ‘lower left’ | 4 | ‘lower right’ | 5 | ‘right’ |
6 | ‘center left’ | 7 | ‘center right’ | 8 | ‘lower center’ |
9 | ‘upper center’ | 10 | ‘center’ |
loc参数使用数字和字符均可, 这里建议使用字符, 简单明了.