我有这个很棒的答案(在这里)在将我的日期时间列更改为数字时工作得很好,但此时我真的需要更改以在 X 轴上显示日期时间也在标签中,尝试更改,
text = f'{line.get_label()}: ({posx:.2f},{posy:.2f})
因为 posx 是当前数字但是无法实现。
问问题
32 次
1 回答
0
感谢@Trenton McKinney,我发现了 mplcursors,这是一个很棒的库,并且适用于 X 轴上的日期,即使我将日期列设置为索引
df0=pd.read_excel(filename)
df1=df0.set_index('Date')
###1st plot
fig,ax1 =plt.subplots(1,1)
axsub1 = ax1.twinx()
p1,=ax1.plot(df1[df1.columns[0]],'y-', label='1')
p2,=ax1.plot(df1[df1.columns[1]],'b-', label='2')
p3,=ax1.plot(df1[df1.columns[2]],'g-', label='3')
p4,=ax1.plot(df1[df1.columns[6]],'r-', label='4')
p5,=ax1.plot(df1[df1.columns[8]],'m-', label='DCP')
p6,=ax1.plot(df1[df1.columns[15]],'c-', label='UCP')
p7,=axsub1.plot(df1[df1.columns[7]],'k-', label='6')
ax1.set_title('1, 2, 3, DCP, UCP, 6')
ax1.set_xlabel("Date")
ax1.set_ylabel('1, 3, DCP, UCP')
axsub1.set_ylabel("6")
lns = [p1,p2,p3,p4,p5,p6,p7]
ax1.legend(handles=lns,loc='best', fontsize=10)
mplcursors.cursor(lns)
效果惊人,这个库为您节省了一些代码和时间再次感谢@Trenton McKinney
于 2021-08-27T17:00:51.450 回答