如何在python pandas中绘制最小最大线图

时间:2017-04-13 01:19:58

标签: python pandas matplotlib plot

您好我有以下格式的数据框。

为简单起见,我显示的数据分类为年份,但它有季度数据。 我想用最小最大值作为阴影和平均值作为线图。我尝试了不同的方法,但我无法在输出中得到它,我需要在下面显示。

作为替代方案,平均值,最小值和最大值的箱形图也可以使用。

数据格式 enter image description here

需要输出

enter image description here

1 个答案:

答案 0 :(得分:2)

IIUC,按年份分组并按最大值,最小值和平均值汇总您的值列,然后绘制平均值并使用fill_between在最大值和最小值内进行着色。

data = df.groupby('YEAR')['VALUE'].agg({'Low Value':'min','High Value':'max','Mean':'mean'})
data.reset_index(inplace=True)

ax  = data.plot(x='YEAR', y='Mean', c='white')
plt.fill_between(x='YEAR',y1='Low Value',y2='High Value', data=data)

enter image description here