2015-07-13 120 views
0

我有一個數字列表Z,列表Z_means(這是一個列表中的數字在Z中使用移動平均數,並且它不像Z一樣)和另一個列表P Z_means。如何繪製在Python日期時間?

我有以下兩個地塊:

pylab.figure(00); 
pylab.plot(range(len(Z)), Z, 'go',   [i for i in range(len(Z_means))], Z_means) 

pylab.figure(11); 
pylab.plot([i for i in range(len(P))], P) 

我有日期D = [d0, d1, d2, ...]的列表中的每個日期類型datetime.datetime的。

我可怎麼辦使用這些日期,而不是我值這些地塊(在x軸上)?第i個值對應於第i個日期D.

注意,我只想要月份和年份對情節(不是整個日期)

回答

0

出現我建議使用matplotlib plot_date方法繪製數據與matplotlib.dates.DateFormatter只沿着月份和年份穿上x軸。

這裏是一個(相當小)工作示例:

import datetime 
import matplotlib.pyplot as plt 
from matplotlib.dates import DayLocator, HourLocator, DateFormatter, drange 
import numpy as np 

date1 = datetime.datetime(2000, 3, 2) 
date2 = datetime.datetime(2001, 10, 10) 
delta = datetime.timedelta(days=28) 
dates = drange(date1, date2, delta) 

ys = np.arange(len(dates)) 

fig, ax = plt.subplots() 

ax.plot_date(dates, ys*ys) 

ax.xaxis.set_major_formatter(DateFormatter('%Y-%m')) 

plt.show()