【发布时间】:2021-03-04 15:22:21
【问题描述】:
我正在用这种方法绘制 2 个数据框:
df.plot(ax=ax, x='x', y='y', label = "first_df")
df2.plot(ax=ax, x='x', y='y', label = "second_df")
我添加了一些 avxspan 函数:
plt.axvspan(x, y, label = value)
由于我有多个 avxspan 并且还有重复的值,我正在使用此代码来唯一地显示这些值。
handles, labels = plt.gca().get_legend_handles_labels()
by_label = dict(zip(labels, handles))
plt.legend(by_label.values(), by_label.keys(),loc='upper center', bbox_to_anchor=(1.1, 0.8))
但是当我显示图例时,我有一个用于 dfs 的图例和另一个用于 avxspan 函数的图例。我想是因为我用plot 为dfs 和plt 为axvspan,所以我不知道如何融合图例。
艾迪丝:
我用 ax1 et ax2 为我的 dfs 尝试了这个:
h1, l1 = ax1.get_legend_handles_labels()
h2, l2 = ax2.get_legend_handles_labels()
ax1.legend((h1+h2), l1+l2, loc='upper center', bbox_to_anchor=(1.1, 0.8))
它正在工作,但我在图例中有重复,我该如何删除它?
【问题讨论】:
-
dataframe.plot有一个legend参数接受一个布尔值。
标签: python pandas dataframe matplotlib