matplotlib.pyplot:如何在打印数据帧时包括自定义图例?

2024-06-06 19:09:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我在同一张图表中绘制了两个数据帧:美元兑欧元汇率和3天移动平均线。在

df.plot(ax=ax, linewidth=1)
rolling_mean.plot(ax=ax, linewidth=1)

两个数据帧都被标记为“Value”,因此我想定制:

enter image description here

我试着传递label选项,但没用,因为这个选项似乎是^{}独占的,而不是{a3}。所以我试着用坐标轴,传递每个标签:

^{pr2}$

但是现在,除非我以后显式地调用ax.legend(),否则这个图例根本就不会出现。在

是否可以在传递自定义标签时绘制数据帧而不需要额外的显式调用?在


Tags: 数据标记df汇率plotvalue选项图表
1条回答
网友
1楼 · 发布于 2024-06-06 19:09:15

使用df.plot()设置标签时,必须指定要打印的数据:

fig, (ax1, ax2) = plt.subplots(1,2)

df = pd.DataFrame({'Value':np.random.randn(10)})
df2 = pd.DataFrame({'Value':np.random.randn(10)})

df.plot(label="Test",ax=ax1)
df2.plot(ax=ax1)

df.plot(y="Value", label="Test",ax=ax2)
df2.plot(y="Value", ax=ax2)

ax1.set_title("Reproduce problem")
ax2.set_title("Possible solution")

plt.show()

它给出了:

enter image description here

更新:绘制数据帧和绘制序列之间似乎存在差异。打印数据帧时,标签取自列名。但是,当指定y="Value"时,您将绘制一个系列,它实际上使用了label参数。在

相关问题 更多 >