2016-04-26 9 views
0

私はdate = '2015-12-12'と対応するy = [0 - 100]date = '2015-03-12'y = [0 - 431]のようなデータを持っています。一意の日付ごとの棒グラフをy列にプロットし、x列に各日付値をラベル付けするにはどうすればよいですか。私はまた、間隔でy値をスライスし、それらを異なる色として表示する必要があります。どうすればこれを実現できますか?これを行う方法の例。私は、理想的に私は私が単一の日付に対して1つのバーグラフを描くことができるようになった例を取得しようとしてい Example graphmatplotlibを使ってユニークな日付をプロットする


のように見えるグラフを持ちたいです。私はそれをうまくやることができる色。

import numpy as np  
import matplotlib.pyplot as plt  
import datetime 
x = '2015-12-12' 
y = [74, 52, 41, 31, 18, 18, 14, 14, 14, 14, 12,0]  
y_values = [y_val for (y_val) in y ]  
ax = plt.subplot(111)  
barWidth=20  
ax.bar(x,y_values, width=barWidth, align='center')  

ax.xaxis_date() 
+0

あなたはこれまでに何を試みましたか? – Harpal

+0

完全なコードは書きません。 – linusg

答えて

0

y値を範囲として定義する必要はなく、日付ごとに1つの数値(高さを示す)を使用します。したがって、日付文字列であるx配列と、高さであるy配列があります。

import matplotlib.pyplot as plt 
import matplotlib.dates as mdates 

x = ['2015-12-12', '2015-12-13', '2015-12-14', '2015-12-15', 
    '2015-12-16', '2015-12-17', '2015-12-18', '2015-12-19'] 
y = [74, 52, 41, 31, 65, 57, 22, 15] 
ax = plt.subplot(111) 
ax.xaxis_date() 
ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d')) 
ax.bar(x, y, width=1, align='center') 
plt.xticks(rotation=50) 
plt.show() 
関連する問題