2013-09-29 27 views
25

私はCSVファイルから時系列グラフをプロットしようとしています。私はファイルを読むことができて、strptimeを使って文字列から日付にデータを変換し、リストに格納しました。 matplotlibで日付情報を含むリストを使ってテストプロットをプロットしようとすると、日付が一連の点としてプロットされました。つまり、2012年5月31日19時の場合、2012年、05月、19日、31日にx = 1の値をy軸にプロットします。私はこれがプロットの日付情報を渡す正しい方法ではないことを理解しています。誰かがこの情報を正しく伝える方法を教えてもらえますか?Pythonで時系列をプロットする方法

答えて

70

datetime.strptimeを使用し、テキストからdatetime.datetimeにあなたのx軸のデータを変換します

>>> from datetime import datetime 
>>> datetime.strptime("2012-may-31 19:00", "%Y-%b-%d %H:%M") 
datetime.datetime(2012, 5, 31, 19, 0) 

これは、あなたが日付時刻の配列を持っていたら、データをプロットする方法の例です:

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

x = np.array([datetime.datetime(2013, 9, 28, i, 0) for i in range(24)]) 
y = np.random.randint(100, size=x.shape) 

plt.plot(x,y) 
plt.show() 

enter image description here

+1

ありがとうございます。私はdatetime.strptime()の代わりにtime.srtptime()を使用していましたが、それは問題を引き起こしていました – Mohanasundar

+4

答えが役に立つと分かっていれば、ありがとうございます。upvoting/accepting(up-keyまたはチェックの上で)答え: – jabaldonedo

+2

@ジャバルドンド私はあなたをupvoteします。ニースアバターbtw :) – RickyA

関連する問題