📜  pyplot 图例外图 - Python (1)

📅  最后修改于: 2023-12-03 15:18:46.315000             🧑  作者: Mango

Pyplot 图例外图 - Python

在 Python 中的 matplotlib 库中,pyplot 模块提供了很多可视化的工具,包括图表、直方图等等,同时也提供了一些调整图片生成的方法,如一些方法可以让图例显示在图片内部 ,也有方法可以把图例显示在图片外部。本文主要介绍如何在 Pyplot 中生成图例外图。

示例
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)

fig, ax = plt.subplots()
ax.plot(x, y, label='sin(x)')
ax.legend(loc='lower right')
plt.savefig('legend_outside.png', bbox_inches='tight', pad_inches=0.2)

上述代码生成一张图例在图表外部的图像。其中,我们使用 ax.legend 方法设置图例位置为“右下角”,并使用 plt.savefig 方法保存生成的图片。

加入外部图例

使用带外部图例的代码如下:

import matplotlib.patches as mpatches

fig, ax = plt.subplots()
sin, = ax.plot(x, y, label='sin(x)')
cos, = ax.plot(x, np.cos(x), label='cos(x)')
plt.legend(handles=[sin, cos], loc='center left', bbox_to_anchor=(1.05, 0.5))
plt.savefig('legend_outside_patch.png', bbox_inches='tight', pad_inches=0.2)

上述代码生成的图像包含两个外部图例,这两个外部图例分别代表 sin(x) 和 cos(x) 。其中,我们使用 mpatches 模块中的 Rectangle 方法创建了两个面积为 0 的矩形来表示图例。最后,我们使用 bbox_to_anchor 参数将图例位置设为“右侧中间”。

结论

在 Pyplot 中生成图例外图非常简单。我们只需要使用适当的方法即可轻松实现在图片上方添加图例。