3
私は、matplotlibとpyplotを使ってCSVファイルからグラフを作成しています。私は折れ線グラフを作成することはできますが、棒グラフを作成するのに苦労しています。データテーブルを使って棒グラフを作成する
私はこのポストをmatplotlib bar chart with datesと言いましたが、私の仕事を簡単に達成しなければならないようないくつかのものがありましたが、私のdatetimesのリストではうまく動作しません。
import matplotlib.pyplot as plt
import matplotlib
import numpy as np
from datetime import datetime
import csv
columns="YEAR,MONTH,DAY,HOUR,PREC,PET,Q,UZTWC,UZFWC,LZTWC,LZFPC,LZFSC,ADIMC,AET"
data_file="FFANA_000.csv"
list_of_datetimes = []
skipped_header = False
with open(data_file, 'rt') as f:
reader = csv.reader(f, delimiter=',', quoting=csv.QUOTE_NONE)
for row in reader:
if skipped_header:
date_string = "%s/%s/%s %s" % (row[0].strip(), row[1].strip(), row[2].strip(), row[3].strip())
dt = datetime.strptime(date_string, "%Y/%m/%d %H")
list_of_datetimes.append(dt)
skipped_header = True
UZTWC = np.genfromtxt(data_file, delimiter=',', names=columns, usecols=("UZTWC"))
x = list_of_datetimes
y = UZTWC
ax = plt.subplot(111)
ax.bar(x, y, width=10)
ax.xaxis_date()
plt.show()
これはエラーになります実行:
上記のポストからの正確なコードが予想されるグラフを生成し実行しているが、私は私のCSVファイルから私自身のために私達のそのxとyの値を交換するとき
Traceback (most recent call last):
File "graph.py", line 151, in <module>
ax.bar(x, y, width=10)
File "C:\Users\rbanks\AppData\Local\Programs\Python\Python35-32\lib\site-packages\matplotlib\__init__.py", line 1812, in inner
return func(ax, *args, **kwargs)
File "C:\Users\rbanks\AppData\Local\Programs\Python\Python35-32\lib\site-packages\matplotlib\axes\_axes.py", line 2118, in bar
if h < 0:
TypeError: unorderable types: numpy.ndarray() < int()
私は私の線グラフをプロットするために必要な日時numpyの変換を実行します。
list_of_datetimes = matplotlib.dates.date2num(list_of_datetimes)
を
同じエラーが発生します。
誰かが洞察力を提供できますか? FFANA_000.csvから
抜粋:
%YEAR,MO,DAY,HR,PREC(MM/DT),ET(MM/DT),Q(CMS), UZTWC(MM),UZFWC(MM),LZTWC(MM),LZFPC(MM),LZFSC(MM),ADIMC(MM), ET(MM/DT)
2012, 5, 1, 0, 0.000, 1.250, 0.003, 2.928, 0.000, 3.335, 4.806, 0.000, 6.669, 1.042
2012, 5, 1, 6, 0.000, 1.250, 0.003, 2.449, 0.000, 3.156, 4.798, 0.000, 6.312, 0.987
2012, 5, 1, 12, 0.000, 1.250, 0.003, 2.048, 0.000, 2.970, 4.789, 0.000, 5.940, 0.929
2012, 5, 1, 18, 0.000, 1.250, 0.003, 1.713, 0.000, 2.782, 4.781, 0.000, 5.564, 0.869
2012, 5, 2, 0, 0.000, 1.250, 0.003, 1.433, 0.000, 2.596, 4.772, 0.000, 5.192, 0.809
2012, 5, 2, 6, 0.000, 1.250, 0.003, 1.199, 0.000, 2.414, 4.764, 0.000, 4.829, 0.750
2012, 5, 2, 12, 0.000, 1.250, 0.003, 1.003, 0.000, 2.239, 4.756, 0.000, 4.478, 0.693
2012, 5, 2, 18, 0.000, 1.250, 0.003, 0.839, 0.000, 2.072, 4.747, 0.000, 4.144, 0.638
2012, 5, 3, 0, 0.000, 1.250, 0.003, 0.702,
ファイルからいくつかの例文行を与えることはできますか? –
@MaximilianPeters編集された元の質問 –