【发布时间】:2013-09-17 09:26:02
【问题描述】:
我有一个数据集存储在 Pandas 数据框对象中,数据框的第一列是datetime 类型,如下所示:
0 2013-09-09 10:35:42.640000
1 2013-09-09 10:35:42.660000
2 2013-09-09 10:35:42.680000
3 2013-09-09 10:35:42.700000
在另一列中,我还有另一列名为eventno,它看起来像:
0 0
1 0
2 0
3 0
我正在尝试使用 Matplotlib 创建散点图,一旦我准备好散点图,我想更改日期轴(x 轴)的范围以关注数据中的某些时间。我的问题是,我找不到改变数据将在 x 轴上绘制的范围的方法。我在下面尝试了这个,但我收到了 Not implemented for this type 错误。
plt.figure(figsize=(13,7), dpi=200)
ax.set_xlim(['2013-09-09 10:35:00','2013-09-09 10:36:00'])
scatter(df2['datetime'][df.eventno<11],df2['eventno'][df.eventno<11])
如果我注释掉 ax.set.xlim 行,我会得到散点图,但是有一些默认的 x 轴范围,甚至与我的日期不匹配。
我是否必须告诉 matplotlib 我的数据也是日期时间类型的?如果是这样,那我该怎么做?假设这部分以某种方式完成,那么如何更改要绘制的数据范围?
谢谢!
PS:我尝试上传图片,但出现“不允许取景”错误。哦,好吧...它只是从 1970 年 1 月 22 日到 1970 年 1 月 27 日绘制的。不知道它是如何得出的 :)
【问题讨论】:
-
您的“日期时间”列的
dtype是什么? (如果您评估df['datetime'],它应该会为您提供该信息) -
如果您将
xlim放在scatter之后,这对我有用。所以我在 1970 年的绘图也没有问题。你用的是什么版本的熊猫?
标签: python matplotlib plot pandas