使用散点图数据在MatPlotLib中绘制日期

时间:2013-11-28 22:59:58

标签: python r numpy matplotlib

我有一个大数据集。我得到一个数组,我得到

arDates = DataSet["dates"].Values

数组应该是这样的。

arDates =  [u'2013-11-27T02:02:50'  u'2013-11-27T00:00:00' u'2013-11-27T00:00:00'
 u'2013-11-27T00:00:00']

我正在努力绘制这个并用直方图表示它。

1-我创建了一条360行(每天的天数)

bins = np.linspace(0, 360, 10)
daily = DataSet.groupby(lambda x: arDates[x])
plt.axis([0,360,0,100])

1-我应该制作一个直方图2D并将数年作为axeY,将数天作为axeX。 2-我可以这样从数组中提取日期:

daily = DataSet.groupby(lambda x: x.year())
daily = DataSet.groupby(lambda x: x.month())
daily = DataSet.groupby(lambda x: x.day())

所以我在这里做错了什么? 我找不到解析日期和制作一维直方图的方法 我是这样做的,但我得到一个空洞的人物。

DataSet [“dates”]。hist(color ='k',alpha = 0.5,normed ='false')

1 个答案:

答案 0 :(得分:0)

也许这就是你的意思:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
arDates = pd.Series(pd.DatetimeIndex([u'2013-11-27T02:02:50',  u'2013-11-25T00:00:00', u'2013-11-25T00:00:00',
    u'2013-11-25T00:00:00']).dayofyear)
arDates.hist()
plt.show()
print np.histogram(arDates)

输出:

(array([3, 0, 0, 0, 0, 0, 0, 0, 0, 1]), array([ 329. ,  329.2,  329.4,  329.6,  329.8,  330. ,  330.2,  330.4,
        330.6,  330.8,  331. ]))