我正在尝试使用 matplotlib 制作自动绘图,其中几个不同的特征绘制在彼此之上(背景是填充的等高线图,上面一层是 pcolormesh)。我试图绘制的最重要的功能是几个散点图,具有不同的标签和图标。
我正在尝试向该图添加图例,当前使用以下命令:
leg = ax.legend(legplots,
legnames,
scatterpoints=1,
loc='upper center',
ncol=3,
fontsize=14,
bbox_to_anchor=(0.5, -0.14),
fancybox=True, shadow=True)
Run Code Online (Sandbox Code Playgroud)
假设 ax 是主轴,legplots 和legnames 分别是散点图及其相应标签的列表。
添加图例工作正常,但随着我拥有的腿图数量(及其名称长度)的变化,当您对图进行动画处理时,图例的大小会增大和缩小。如何控制图例框的大小和图例内的列宽?这可能吗?
目前您的边界框大小为 0,因为您只指定了它的位置 ( (0.5, -0.14))。
您可以将图例的边界框设置为大于 0,并且也足够大以适应最大数量的元素所需的最大尺寸。我认为您需要通过反复试验来找到该尺寸。
因此使用完整的 4 元组表示法
bbox_to_anchor=(x0, y0, width, height)
Run Code Online (Sandbox Code Playgroud)
与适当的loc参数和关键字参数结合使用mode="expand",您可以使图例足够大以满足您的需要。有关 4 元组表示法的更详细说明,请参阅这篇文章并查看图例位置指南。
| 归档时间: |
|
| 查看次数: |
5271 次 |
| 最近记录: |