2011-05-05 78 views
26

我知道關於plot_date(),但是那裏有bar_date()matplotlib條形圖日期

的一般方法是使用set_xticksset_xticklabels,但我想的東西,可以處理來自幾個小時的時間尺度出去了幾年(這意味着涉及到的主要和次要刻度,以使事情可讀,我認爲)。

編輯:我意識到我正在繪製與特定時間間隔(棒橫跨)相關的值。我與我使用的鹼性溶液如下更新:

import matplotlib.pyplot as plt 
import datetime 
t=[datetime.datetime(2010, 12, 2, 22, 0),datetime.datetime(2010, 12, 2, 23, 0),   datetime.datetime(2010, 12, 10, 0, 0),datetime.datetime(2010, 12, 10, 6, 0)] 
y=[4,6,9,3] 
interval=1.0/24.0 #1hr intervals, but maplotlib dates have base of 1 day 
ax = plt.subplot(111) 
ax.bar(t, y, width=interval) 
ax.xaxis_date() 
plt.show() 

回答

36

所有plot_date確實是情節的功能和來電ax.xaxis_date()

所有你應該需要做的是這樣的:

import numpy as np 
import matplotlib.pyplot as plt 
import datetime 

x = [datetime.datetime(2010, 12, 1, 10, 0), 
    datetime.datetime(2011, 1, 4, 9, 0), 
    datetime.datetime(2011, 5, 5, 9, 0)] 
y = [4, 9, 2] 

ax = plt.subplot(111) 
ax.bar(x, y, width=10) 
ax.xaxis_date() 

plt.show() 

bar graph with x dates

+0

謝謝!具體而言,我正在繪製與特定時間間隔(棒橫跨)相關的值。我想我現在已經明白了 - 我會在上面進行編輯。 – 2011-05-05 22:37:33