plt.gca()。fill_between()不起作用

时间:2017-09-29 15:00:35

标签: python pandas matplotlib

我对使用matplotlib感到困惑。

这里我有一个数据帧df_10year并将其分成两个较小的数据帧,一个是10年的每日最高温度值,另一个是最小值。然后我尝试通过groupby和agg找到每一天的最小值和最大值。我想绘制最小值和最大值,并为这两行之间的区域着色。

df_10year_min = df_10year[df_10year['Element']=='TMIN']
df_10year_max = df_10year[df_10year['Element']=='TMAX']
tem_10year_min = df_10year_min.groupby('Month-Date').aggregate({'Data_Value':np.min})
tem_10year_max = df_10year_min.groupby('Month-Date').aggregate({'Data_Value':np.max})

以下代码有效。

plt.plot(tem_10year_min.values, 'b')
plt.plot(tem_10year_max.values, 'r')
plt.gca().fill_between(range(len(tem_10year_min)), tem_10year_min['Data_Value'], tem_10year_max['Data_Value'], facecolor='yellow')

我只是想知道.values和['']之间的区别,以下代码实际上并不起作用。

plt.plot(tem_10year_min['Data_Value'], 'b')

没有图片显示,它说:ValueError:无法将字符串转换为float:' 12-31'。数据框看起来像enter image description here

plt.gca().fill_between(range(len(tem_10year_min)), tem_10year_min.values, tem_10year_max.values, facecolor='yellow')

为此,没有图片,并且它表示参数尺寸不兼容。

0 个答案:

没有答案