Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么不';matplotlib能识别我在xaxis上的时间戳吗?_Python_Datetime_Matplotlib - Fatal编程技术网

Python 为什么不';matplotlib能识别我在xaxis上的时间戳吗?

Python 为什么不';matplotlib能识别我在xaxis上的时间戳吗?,python,datetime,matplotlib,Python,Datetime,Matplotlib,现在,我正试图通过处理一个带有鸟巢外/内移动的数据集来弄清楚Matplotlib和Pandas是如何工作的。我成功地将完整的数据集绘制为带有xaxis时间戳的折线图 但是,当我试图将设定的间隔绘制为条形图(按小时分组)时,matplotlib不再将xaxis识别为时间戳,因此无法正确使用格式化程序和定位器(HourLocator等) 我的数据帧的索引是一个时间戳,但是当我使用.groupby()函数时,它似乎失去了作为时间戳的属性 newdf=df[日期:(日期+远期*deltaday)] bx

现在,我正试图通过处理一个带有鸟巢外/内移动的数据集来弄清楚
Matplotlib
Pandas
是如何工作的。我成功地将完整的数据集绘制为带有xaxis时间戳的折线图

但是,当我试图将设定的间隔绘制为条形图(按小时分组)时,matplotlib不再将
xaxis
识别为时间戳,因此无法正确使用格式化程序和定位器(
HourLocator
等)

我的数据帧的索引是一个时间戳,但是当我使用
.groupby()
函数时,它似乎失去了作为时间戳的属性

newdf=df[日期:(日期+远期*deltaday)]
bx=newdf['Movements'].groupby(pd.Grouper(freq='H')).sum().plot.bar()
xtick_locator=mdates.AutoDateLocator()
xtick\u formatter=mdates.AutoDateFormatter(xtick\u定位器)
bx.xaxis.set_major_定位器(xtick_定位器)
bx.xaxis.set\u major\u格式化程序(xtick\u格式化程序)
运行此代码时,我收到以下错误消息:

ValueError:视图限制最小值-0.5小于1并且无效 Matplotlib日期值。如果传递的是非日期时间,则通常会发生这种情况 具有日期时间单位的轴的值“

这表示我的
xaxis
不再是
datetime
对象。当使用
xticks()
获取我的
xticks
标签时,我得到以下信息:

文本(0,0,'2015-02-02 00:00:00')
。。。
Text(47,0,'2015-02-03 23:00:00')

它看起来像一个时间戳,但matplotlib不会将其识别为时间戳。如果没有任何专业知识,我相信它是
.groupby()
谁是强盗

有没有更好的方法来绘制柱状图,并在设定的时间间隔内绘制每小时df['Movements']的总和?


df['Movements']
现在是每分钟的移动次数)

这不是matplotlib问题。我认为matplotlib条形图可以正常工作。但是熊猫条形图是分类的,不关心实际日期。这不是matplotlib问题。我认为matplotlib条形图可以正常工作。但是熊猫条形图是分类的,不关心实际日期。