我正在绘制Pandas DataFrame
的堆积条形图。索引日期采用datetime
格式,并且绘制得很好。我遇到的问题是尝试设置xlim
值。
day_counts = {'a': count_a,
'b': count_b,
'c': count_c,
'd': count_d}
df_days = pd.DataFrame(day_counts, index=date)
变量count_a
,..,count_d
是数字列表,date
是datetime
个对象的列表。
使用xlim尝试绘图1:
ax = df_days.plot(kind='bar', stacked=True,
xlim=[pd.Timestamp('2015-09-01'), pd.Timestamp('2016-01-01')])
使用xlim尝试绘图2:
ax = df_days.plot(kind='bar', stacked=True)
ax.set_xlim(pd.Timestamp('2015-09-01'), pd.Timestamp('2016-01-01'))
使用xlim尝试绘图3:
ax = df_days.plot(kind='bar', stacked=True)
ax.set_xlim(datetime.datetime(2015,9,1),date[-1])
如果可能的话,我想在主绘图命令中使用xlim
命令,数据集非常大。建议?
答案 0 :(得分:2)
每https://stackoverflow.com/a/31500017/4893407以下内容应该有效:
ax.set_xlim(pd.Timestamp('2015-09-01'), pd.Timestamp('2016-01-01'))
您确定df的索引是DatetimeIndex吗?它有重复吗?它排序了吗?未排序的DatetimeIndex将导致使用时间戳的切片索引失败。