如果我有一个像这样的pandas数据框:
col1 col2
time
2014-10-01 11:49:32 1 193.75
2014-10-02 10:32:51 2 62.26
2014-10-11 15:19:03 3 96.68
...and so forth
并希望为每个日期绘制这些值。
在图中,要获取日期时间标签,我会使用xticks2 = pd.date_range(start=df.iloc[0,0],end=df.iloc[-1,0], freq='7D', normalize=True)
ax2 = axes2.xaxis.set_minor_locator(mpl.dates.WeekdayLocator(byweekday=range(7), interval=1))
ax2 = plt.xticks(xticks2,xticks2, rotation=0)
但这给了可怕的长标签,即2014-10-01 11:49:32。有没有办法像2014-10-01那样获得标签(没有时间的日期)?
答案 0 :(得分:1)
尝试为日期创建一个新列,并根据该列进行绘图。
df['Dates'] = df.time.apply(lambda x: x.date().isoformat())
答案 1 :(得分:0)
尝试添加到现有代码
axes2.xaxis.set_minor_formatter(mpl.dates.DateFormatter('%Y-%m-%d'))