我对使用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')
为此,没有图片,并且它表示参数尺寸不兼容。