【发布时间】:2023-03-27 11:04:02
【问题描述】:
我正在绘制这样的数据:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import pandas as pd
a = pd.DatetimeIndex(start='2010-01-01',end='2011-06-01' , freq='M')
b = pd.Series(np.random.randn(len(a)), index=a)
我希望绘图采用条形格式,所以我使用这个:
b.plot(kind='bar')
这是我得到的:
如您所见,日期的格式是完整的,非常丑陋且不可读。我碰巧测试了这个命令,它创建了一个非常好的日期格式:
b.plot()
我非常喜欢这种格式,它包括月份,标志着一年的开始,并且易于阅读。
在做了一些搜索之后,我最接近该格式的是使用这个:
fig, ax = plt.subplots()
ax.plot(b.index, b)
ax.xaxis.set_major_formatter(mdates.DateFormatter('%b'))
我可以通过这种方式在 x 轴上显示月份名称,但我更喜欢第一种格式。那要优雅得多。有谁知道我怎样才能为我的条形图获得完全相同的 xticks?
【问题讨论】:
-
this 有帮助吗?
-
@Nuageux 感谢您的评论。这是一个不错的帖子,但不是我想要的。如果我能像第二个数字那样只在每年一月添加年份,那就太好了。
标签: python pandas datetime plot time-series