2016-04-26 45 views
0

我有像date = '2015-12-12'和相應的y = [0 - 100]date = '2015-03-12'y = [0 - 431]的數據。我如何爲y列的每個唯一日期繪製條形圖,並用每個日期值標記x列。我還需要在時間間隔內切分y值,並將它們顯示爲不同的顏色。我怎樣才能做到這一點。任何如何做到這一點的例子。我理想喜歡有一個圖形看起來像
Example graph使用matplotlib繪製獨特日期

我試圖得到一個例子,我得到這樣我可以繪製一個單一的日期條形圖。我可以做的很好的顏色。

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值作爲範圍,每個日期(表示高度)的單個數字將會執行。所以你會有你的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()