为Pandas DataFrame绘制xlim

时间:2016-05-26 20:03:09

标签: python pandas

我正在绘制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是数字列表,datedatetime个对象的列表。

没有xlim参数的绘图给出: enter image description here

使用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命令,数据集非常大。建议?

1 个答案:

答案 0 :(得分:2)

https://stackoverflow.com/a/31500017/4893407以下内容应该有效:

ax.set_xlim(pd.Timestamp('2015-09-01'), pd.Timestamp('2016-01-01'))

您确定df的索引是DatetimeIndex吗?它有重复吗?它排序了吗?未排序的DatetimeIndex将导致使用时间戳的切片索引失败。