我有以下代码来绘制Pandas DataFrame的数据:
df = pd.read_csv('data.csv')
plt.figure()
plt.title('Title')
ax1 = df.R.plot(style='b', label='Suc. Rate')
ax1.set_ylabel('Success Rate / Coherence')
ax2 = df.C.plot(style='r', label='Coherence')
ax3 = df.S.plot(secondary_y=True, style='g', label='Size')
ax3.set_ylabel('Lexicon Size')
plt.legend()
图是正确的,但只有最后一行标签为Size
显示在图例中。我如何在一个图例中获得所有3行?
1条答案
按热度按时间gajydyqb1#
你需要从每个
Axes
中获取图例handles
和labels
,然后将所有句柄和标签的列表传递给图例。你可以使用ax.get_legend_handles_labels()
来做到这一点: