###前提・実現したいこと
python 2.7で1時間ごとの雨量グラフを作成しています.
日付をx軸にした場合に補助目盛を2時間毎に描写したいと考えています.
よろしくお願いします.
###発生している問題・エラーメッセージ
xticksを用いて補助目盛を描写するとエラーが発生し,グラフの外側がすべて描写されなくなってしまいます.
TypeError: don't know how to convert scalar number to int
###該当のソースコード
Python
1# coding: utf-8 2 3import matplotlib.pyplot as plt 4import datetime 5import numpy as np 6 7StartDate=[2017,8,14,0,0,0]#年,月,日,時,分,秒 8EndDate=[2017,8,19,0,0,0]#年,月,日,時,分,秒 9MaxRainLevel=150 10MaxSumRainLevel=1000 11StartTime=float(0) 12EndTime=float(432000) 13TimeNo=60 14 15if __name__ == '__main__': 16 17 x=np.array([datetime.timedelta(seconds=time)for time in range(int(StartTime),int(EndTime)+int(TimeNo)*60,int(TimeNo)*60)]) 18 x += datetime.datetime(StartDate[0], StartDate[1], StartDate[2], StartDate[3], StartDate[4], StartDate[5]) 19 y = np.random.randint(1, 100, 121) 20 fig=plt.figure(figsize=(10,3)) 21 plt.title(u'***観測所', loc='left') 22 23 ax1 = fig.add_subplot(111) 24 ax1.bar(x,y,width=0.0415,align='center',alpha=.8,label='RainLavel') 25 plt.xticks(np.arange(datetime.datetime(StartDate[0], StartDate[1], StartDate[2], StartDate[3], StartDate[4], StartDate[5]),datetime.datetime(EndDate[0], EndDate[1], EndDate[2], EndDate[3], EndDate[4], EndDate[5]),datetime.timedelta(int(TimeNo)*240))) 26 27 ax1.set_xlim((datetime.datetime(StartDate[0], StartDate[1], StartDate[2], StartDate[3], StartDate[4], StartDate[5]),datetime.datetime(EndDate[0], EndDate[1], EndDate[2], EndDate[3], EndDate[4], EndDate[5]))) 28 ax1.set_ylim((0, MaxRainLevel)) 29 30 ax1legend.get_frame().set_edgecolor('black') 31 plt.show()
###試したこと
プログラム中のplt.xticksをコメントアウトすることでx軸が日付である正常なグラフが描写されますが,補助目盛は表示されません.
###補足情報(言語/FW/ツール等のバージョンなど)
ツールは全て最新のものと確認いたしました.
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/23 04:14