如何将图例放置在绘图区域之外
问题:
您想要在单个图中创建多个绘图,但您需要将图例放置在绘图区域之外。此外,您希望通过减小字体大小来最小化图例的大小。
解决方案:
1.使用 bbox_to_anchor:
bbox_to_anchor 关键字参数允许您指定图例框相对于绘图轴的位置。通过将 bbox_to_anchor 设置为 (1.1, 1.05),您可以将图例稍微移到轴边界之外:
ax.legend(bbox_to_anchor=(1.1, 1.05))
2。缩小绘图区域:
另一种方法是缩小当前绘图的宽度或高度并相应地定位图例。例如,要将图的宽度缩小 20% 并将图例放置在右侧轴之外:
# Shrink current axis by 20% box = ax.get_position() ax.set_position([box.x0, box.y0, box.width * 0.8, box.height]) # Put a legend to the right of the current axis ax.legend(loc='center left', bbox_to_anchor=(1, 0.5))
3.减小图例字体大小:
要减小图例框的大小,可以在 legend() 方法中使用 fontsize 参数:
ax.legend(fontsize=8)
4.替代方法:
有关自定义图例的更多信息,请参阅 matplotlib 文档: https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.legend.html
以上是如何将 Matplotlib 图例放置在绘图区域之外并自定义其大小?的详细内容。更多信息请关注PHP中文网其他相关文章!