修复matplotlib

时间:2016-12-07 19:50:09

标签: python matplotlib

我正在尝试使用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)

假设ax是主轴,腿图和legnames分别是散点图及其适当标签的列表。

添加图例可以正常工作,但由于我拥有的腿图数量(及其名称长度)不同,因此在绘制图表动画时,图例会增大和缩小。如何控制图例框的大小和图例中的列宽?这可能吗?

1 个答案:

答案 0 :(得分:0)

目前您的边界框的大小为0,因为您只指定其位置((0.5, -0.14))。

您可以将图例的边界框设置为大于0,并且也足够大,以满足最大数量的元素所需的最大尺寸。我认为您需要通过以下方式找到该尺寸的大小。反复试验。

所以使用完整的4元组符号

bbox_to_anchor=(x0, y0, width, height)

结合适当的loc参数和关键字参数mode="expand",您可以根据需要制作足够大的图例。有关4元组表示法的更详细说明,请参阅this post并查看legend location guide