如何将图例放置在 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 ()
请注意, 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 ()
请注意, 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 ()
请注意, mode参数告诉 Matplotlib 将图例扩展到绘图的长度,而ncol参数告诉 Matplotlib 将图例标签放置在 2 列中。
如果我们只想将图例放在绘图上方的左上角,我们也可以省略mode和ncol参数:
其他资源
以下教程解释了如何在 Matplotlib 中执行其他常见任务:
如何更改 Matplotlib 绘图上的字体大小
如何从 Matplotlib 图中删除刻度
如何在 Matplotlib 绘图上显示网格线