我有一個由日期 - 值對組成的數據集。我想在一個條形圖中用x軸的特定日期繪製它們。如何使用matplotlib繪製x軸上的特定日期的數據
我的問題是matplotlib
在整個日期範圍內分配xticks
;並繪製數據使用點。
日期均爲datetime
對象。這裏的數據集的樣本:
data = [(DT.datetime.strptime('2010-02-05', "%Y-%m-%d"), 123),
(DT.datetime.strptime('2010-02-19', "%Y-%m-%d"), 678),
(DT.datetime.strptime('2010-03-05', "%Y-%m-%d"), 987),
(DT.datetime.strptime('2010-03-19', "%Y-%m-%d"), 345)]
這裏使用一個可運行的代碼示例pyplot
import datetime as DT
from matplotlib import pyplot as plt
data = [(DT.datetime.strptime('2010-02-05', "%Y-%m-%d"), 123),
(DT.datetime.strptime('2010-02-19', "%Y-%m-%d"), 678),
(DT.datetime.strptime('2010-03-05', "%Y-%m-%d"), 987),
(DT.datetime.strptime('2010-03-19', "%Y-%m-%d"), 345)]
x = [date for (date, value) in data]
y = [value for (date, value) in data]
fig = plt.figure()
graph = fig.add_subplot(111)
graph.plot_date(x,y)
plt.show()
問題摘要:
我的情況更像是我有一個Axes
實例,準備(通過引用在上面的代碼),我想要做以下事情:
- 使
xticks
對應於確切的日期值。我聽說過matplotlib.dates.DateLocator
,但我不知道如何創建一個,然後將其與特定的Axes
對象相關聯。 - 克服的圖表類型更嚴格的控制使用(棒,線,點等)
只是一個提示:因爲你的問題確實是純粹的約matplotlib並沒有具體到wxWidgets的東西,它會可能讓你改變的東西更容易你的例子使用'matplotlib.pyplot'中的函數,並將wx的東西離開它。 – 2010-08-15 04:23:26
@大衛:修正。謝謝,我意識到可能有更多的人可以閱讀'matplotlib' +'pyplot'比'matplotlib' +'wx' – Kit 2010-08-15 04:45:08