具有辅助Y轴的控制图例

时间:2019-05-09 08:36:57

标签: python-3.x pandas matplotlib

我正在用熊猫图方法生成图。我的绘图有次要的y轴,我对默认显示图例的方式不满意。

我想为图例使用“最佳”位置,并设置一些属性,例如fontsize

这是我尝试过的一个例子(基本案例)

df = pd.DataFrame([np.array([2, 3, -8])*i for i in range(10)], columns=['a', 'b', 'c'])
ax = df.plot.line(secondary_y='c', legend=True)
ax.legend(loc='best')

这将导致:

Plot showing badly placed legend with a missing label

“ c(右)”标签消失了,我认为它没有将图例置于“最佳”位置。

如果我尝试在legend上设置ax.get_figure(),则会将其放置在图片的右上角,并将“最佳”传递到位置引发和异常。

我尝试使用手动设置图例标签

patches, labels = ax.get_legend_handles_labels()
ax.legend(patches, labels, loc='best')

但是辅助轴标签仍然丢失。

如何获得带有所有标签的图例,将其移动到图中的“好”位置?

任何使这些图更美观或更易于创建的技巧都非常受欢迎!

编辑:

answer here也无济于事。首先,图例仍然放置在绘图线上(顶部中心显然有空间)。其次,应该删除c标签上的“(右)”后缀,我必须自己添加。

0 个答案:

没有答案