2013-11-28 2 views
0

У меня есть большой набор данных. Я получаю массив, где я получаюЗадания в 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- Должен ли я сделать histogram2D и сделать лет, как axeY, и дни, как axeX. 2- Можно ли извлечь даты из массивов таким образом:

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

так, что я делаю неправильно здесь? Я не мог найти способ разобрать даты и сделать 1D гистограмму Я делаю это так, но я получаю пустую цифру. .

DataSet [ "даты"] истор (цвет = 'к', альфа = 0,5, нормированное = 'ложь')

+0

Не совсем ясно, чего вы пытаетесь достичь. Нет никакого реального вопроса, кроме как «что является лучшим способом», но это необязательно связано с кодом, который вы опубликовали, и основан на мнениях. Как насчет того, чтобы спросить его так: «В настоящее время мой код делает ... но я хочу, чтобы это делалось ... так что я делаю неправильно здесь?» – Mark

+1

Спасибо, я отредактировал вопрос – user3047512

+0

просто любопытно, почему у этого есть тег 'R'? –

ответ

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. ])) 
Смежные вопросы