用两个图例绘制的绘图一个图例用于主轴上的条形图,另一个用于辅助轴上的折线图,如何将这两个图例组合在一起。??然后把绘图保存在电源插座上
下面是我的代码,它将图例放在两个位置,但我希望它们一个比另一个组合在一起。在
ax = df.plot(x=['TIME'],y =['Column A'],kind='bar',use_index=True,color='g',legend=True)
ax.set_ylabel("Label A")
ax2 = ax.twinx()
ax2.plot(df[['Column B']].values,linestyle='-', marker='o', linewidth=2.0,color ='b')
ax2.set_ylabel("Label B")
ax2.legend('LegendB',loc=1)
这将生成绘图,但图例B位于右上角,图例A默认放置在左上角。我还可以看到,传说B是削减,并没有显示所有的字符。在
当我将ax2.legend行更改为
^{pr2}$然后两个铭文都叠加在一起其他的。很好实际上是一团糟。在
为了保存图形,我将代码用作
ax2.legend('LegendB',loc=1)
fig = ax.get_figure()
fig.set_size_inches(9.5, 3)
fig.savefig('test.png', bbox_inches='tight',dpi=100)
plt.show() ## To Show the Plot
但这保存了图例在LOC=1处相互叠加的图形
所以我的问题是: 1如何将一个又一个的图例组合起来。。?? 2为什么要保存它,因为它正在显示的情节。。??在
谢谢各位
您可以合并多个轴的图例,但需要手动(半)执行此操作。这里有一些陷阱需要注意,因为您混合了}图。有关详细信息,请参见matplotlib's legend guide。在
pandas
图和{以下是我要写的:
注意,我添加了一个
label
参数到ax2.plot
。这对于确保ax2.get_legend_handles_labels()
返回行的句柄非常重要。Pandas
'plot会自动添加一个标签,因此没有任何操作。在还请注意,我将
legend=False
传递给pandas
plot函数,以禁止自动创建第一个图例。在相关问题 更多 >
编程相关推荐