2016-04-08 25 views
0

こんにちは私はx軸に日時配列をプロットしようとしています。しかし、私は実際にそれらをプロットすることに問題があるとの値のエラーを取得しておくように見える:x軸に沿って日時をプロットする

ValueError: invalid literal for long() with base 10: '2013-02-18 00:00:00' 

、誰もが私が間違っているつもりだ任意のアイデアを持っていますか?

データ自体は4つの列にフォーマットされ、印刷時には('04/03/2013 '、7.0,12.0,17.0)('11/03/2013'、23.0,15.0,23.0)のようになります。

import csv 
import numpy as np 
import pylab as pl 
import datetime 
from datetime import datetime 
data = np.genfromtxt('H:/AppliedGIS/Python/AssignmentData/GrowthDistribution/full.csv', names=True, usecols=(0, 1, 2, 3), delimiter= ',', skiprows=1, dtype =[('Date', 'S10'),('HIGH', '<f8'), ('Medium', '<f8'), ('Low', '<f8')]) 
print data 
x = [foo[0] for foo in data] 
y = [foo[1] for foo in data] 
y2 = [foo[2] for foo in data] 
y3 = [foo[3] for foo in data] 
print x, y, y2, y3 
dates = [] 
for i in x: 
    date = datetime.datetime.strptime['i', '%d/%m/%Y'] 
    dates.append(date) 

pl.plot(data[:, dates], data[:, y], '-r', label= 'High Stocking Rate') 
pl.plot(data[:, dates], data[:, y2], '-g', label= 'Medium Stocking Rate') 
pl.plot(data[:, dates], data[:, y3], '-b', label= 'Low Stocking Rate') 
pl.title('Amount of Livestock Grazing per hectare', fontsize=18) 
pl.ylabel('Livestock per ha') 
pl.xlabel('Date') 
pl.grid(True) 
pl.ylim(0,100) 
pl.show() 

答えて

0

すぐにコードに2つの問題があります。

date = datetime.datetime.strptime['i', '%d/%m/%Y'] should be 
date = datetime.datetime.strptime('i', '%d/%m/%Y') 

pl.plot(data[:, dates], data[:, y], '-r', label= 'High Stocking Rate') 

Try this instead: 
pl.plot_date(dates, y, '-r', label= 'High Stocking Rate') 
関連する問題