我有date = '2015-12-12'
和相应的y = [0 - 100]
以及date = '2015-03-12'
和y = [0 - 431]
等数据。如何针对y列绘制每个唯一日期的条形图,并使用每个日期值标记x列。我还需要在间隔中切换y
值并将它们显示为不同的颜色。我怎样才能做到这一点。任何如何做到这一点的例子。理想情况下,我希望有一个看起来像的图表
我试图得到一个例子,以便我可以针对单个日期绘制单个条形图。我能做的颜色很好。
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 :(得分: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()