Python matplotlib没有显示鼠标悬停的完整日期

时间:2017-10-20 16:19:24

标签: pandas datetime matplotlib dataframe

我的数据框包含日期索引温度值

Date     Temperature
2015-10-21     9.118
2015-10-22     9.099
2015-10-23     8.945
2015-10-26     8.848
2015-10-27     8.848
2015-10-28     8.829
2015-10-30     8.935
2015-11-02     9.302
2015-11-03     9.012
2015-11-04     9.109
...
2017-10-16    10.160
2017-10-17    10.180
2017-10-18    10.140
2017-10-19    10.370
2017-10-20    10.360

使用交互式%matplotlib笔记本绘制它,显示右下方的温度,年/月,,但省略当天

#%matplotlib notebook
import pandas as pd
import matplotlib.pyplot as plt

x_axis = df.index.tolist()
y_axis = df['temperature'].tolist()

plt.plot(x_axis, y_axis)
plt.show()

enter image description here

如何让它显示当天?任何格式都可以,但最好是2017年1月1日'。

1 个答案:

答案 0 :(得分:1)

您可以使用轴的matplotlib.dates.DateFormatter方法指定笔记本图形的状态栏或左下角显示的文本格式。

如果这是一个日期时间对象,使用"%d-%b-%Y"是合理的。格式说明符将为import matplotlib.dates datefmt = matplotlib.dates.DateFormatter("%d-%b-%Y") fmt = lambda x,y : "{}, {:.5g}".format(datefmt(x), y) plt.gca().format_coord = fmt ,例如'01 -Jan-2017'。

{{1}}

enter image description here