2011-12-03 160 views
10

我想繪製一個datetime.time值的直方圖。這些值被分散到五分鐘的切片中。數據如下所示:繪製datetime.time的直方圖python/matplotlib

['17:15:00','18:20:00','17:15:00','13:10:00','17: 45:00','18:20:00']

我想繪製直方圖或某種形式的分佈圖,以便可以輕鬆檢查每次出現的次數。

注意:鑑於每一次都是離散的。直方圖中bin的最大數量爲288 =(60/5 * 24)

我看了一下matplotlib.pyplot.hist。但是需要某種連續的標量

+1

最簡單的可能是時代轉換爲秒,並使用這個方法,使直方圖。然後可以手動更改直方圖的標籤。 –

+1

或將時間直接轉換爲垃圾桶=秒/ 300,並繪製每個垃圾桶的計數。 – Dave

回答

6

我做了什麼大衛Zwicker說和使用秒,然後改變X軸。我會看戴夫對「箱子」所說的話。這大致工作,並提供一個小時每小時陰謀開始。

def chart(occurance_list): 
    hour_list = [t.hour for t in occurance_list] 
    print hour_list 
    numbers=[x for x in xrange(0,24)] 
    labels=map(lambda x: str(x), numbers) 
    plt.xticks(numbers, labels) 
    plt.xlim(0,24) 
    plt.hist(hour_list) 
    plt.show() 

frequency of lowest daily exahange rate for GBPUSD

+0

接受:David Zwicker和@Dave說 –

+0

這是不正確的。箱子少於24個。 –

-5

你必須轉換兩個變量的數據,然後你可以使用plotlab在直方圖中繪製。

+2

我真的不明白你的意思。 –