首页 > 后端开发 > Python教程 > 如何将 Matplotlib 图例放置在绘图区域之外并自定义其大小?

如何将 Matplotlib 图例放置在绘图区域之外并自定义其大小?

DDD
发布: 2024-12-29 00:51:10
原创
269 人浏览过

How to Position a Matplotlib Legend Outside the Plot Area and Customize its Size?

如何将图例放置在绘图区域之外

问题:

您想要在单个图中创建多个绘图,但您需要将图例放置在绘图区域之外。此外,您希望通过减小字体大小来最小化图例的大小。

解决方案:

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.替代方法:

  • loc 参数: loc 参数允许您指定图例在图中的位置。通过将 loc 设置为上中心或下中心,您可以将图例移动到图的顶部或底部。
  • ncol 参数: ncol 参数控制图例中的列数。通过指定更多列,您可以展开图例并降低其整体高度。
  • fancybox 和shadow 参数: fancybox 和shadow 参数可用于为图例添加美观效果,例如圆角和阴影。

有关自定义图例的更多信息,请参阅 matplotlib 文档: https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.legend.html

以上是如何将 Matplotlib 图例放置在绘图区域之外并自定义其大小?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板