如何将图例放置在 matplotlib 图之外


通常,您可能希望将 Matplotlib 图的图例放在实际图之外。

幸运的是,使用matplotlib.pyplot.legend()函数与bbox_to_anchor参数相结合很容易做到这一点。

本教程展示了此功能实际使用的几个示例。

示例1:将标题放在右上角

以下代码显示如何将图例放置在 Matplotlib 图之外的右上角:

 import matplotlib.pyplot as plt

#createplot
plt. subplot (211)
plt. plot ([2, 4, 6], label=" First Data ")
plt. plot ([6, 4, 2], label=" Second Data ")

#place legend in top right corner
plt. legend (bbox_to_anchor=(1,1), loc=" upper left ")

#showplot
plt. show ()

将图例放在 Matplotlib 图之外

请注意, loc参数告诉 Matplotlib 将图例线的左上角放置在图中 (1,1) 的 (x,y) 坐标处。

示例2:将标题放在右下角

以下代码显示如何将图例放置在 Matplotlib 图之外的右下角:

 import matplotlib.pyplot as plt

#createplot
plt. subplot (211)
plt. plot ([2, 4, 6], label=" First Data ")
plt. plot ([6, 4, 2], label=" Second Data ")

#place legend in top right corner
plt. legend (bbox_to_anchor=(1,0), loc=" lower left ")

#showplot
plt. show () 

Matplotlib 绘图之外角落的图例

请注意, loc参数告诉 Matplotlib 将图例线的左下角放置在图中 (1,0) 的 (x,y) 坐标处。

示例 3:将图例放在图上方

以下代码显示了如何将图例放置在 Matplotlib 图上方:

 import matplotlib.pyplot as plt

#createplot
plt. subplot (211)
plt. plot ([2, 4, 6], label=" First Data ")
plt. plot ([6, 4, 2], label=" Second Data ")

#place legend above plot
plt. legend (bbox_to_anchor=(0, 1, 1, 0), loc=" lower left ", mode=" expand ", ncol= 2 )

#showplot
plt. show () 

将图例放在 Matplotlib 中的图上方

请注意, mode参数告诉 Matplotlib 将图例扩展到绘图的长度,而ncol参数告诉 Matplotlib 将图例标签放置在 2 列中。

如果我们只想将图例放在绘图上方的左上角,我们也可以省略modencol参数:

其他资源

以下教程解释了如何在 Matplotlib 中执行其他常见任务:

如何更改 Matplotlib 绘图上的字体大小
如何从 Matplotlib 图中删除刻度
如何在 Matplotlib 绘图上显示网格线

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注