使用Pandas和Matplotlib在X轴上的日期

时间:2018-10-09 08:26:35

标签: python python-3.x pandas matplotlib

我正在尝试绘制熊猫的一些数据。首先,我按周分组并为每个分组的周计数,我想为每个日期绘制它们,但是当我尝试绘制时,我得到的只是一些日期,而不是全部。

我正在使用以下代码:

my_data = res1.groupby(pd.Grouper(key='d', freq='W-MON')).agg('count').u
p1,  = plt.plot(my_data, '.-')
a = plt.xticks(rotation=45)

我的结果如下:

enter image description here

我想要分组数据框中每个日期在x轴上的值。

编辑:我尝试使用plt.xticks(list(my_data.index.astype(str)), rotation=45) 我得到的情节如下: I would like to have the complete dates

1 个答案:

答案 0 :(得分:1)

请在下面找到有效的代码块

from datetime import date, timedelta
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import numpy as np

a = pd.Series(np.random.randint(10, 99, 10))

plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%m/%d/%Y'))
plt.gca().xaxis.set_major_locator(mdates.DayLocator())

plt.plot(pd.date_range(date(2016,1,1), periods=10, freq='D'), a)
plt.gcf().autofmt_xdate()

enter image description here

希望它会有所帮助:)