试图对两个折线图之间的区域进行阴影处理,但出现以下错误
'参数尺寸不兼容'
我曾尝试查看类似的问题,但似乎无法找到适合我的解决方案。
df['Date'] = pd.DatetimeIndex(df['Date']).year
df = df[df['Date'] != 2015]
df_min = df[df['Element'] =='TMIN'].groupby('Date').aggregate({'Data_Value':np.average})
df_max = df[df['Element'] == 'TMAX'].groupby('Date').aggregate({'Data_Value':np.average})
n = np.array(len(df_min))
x = np.linspace(0,n,n,endpoint=True)
plt.plot(df_max, '-o',df_min,'-o')
plt.fill_between(x,df_min,df_max, color='grey',alpha='0.5')
plt.show()
链接到我所指的数据库:数据库
您的代码中有两个问题:
df_min
和df_max
是数据帧,而您应该传递的是对应于df_min
和的 y 值df_max
。这些可以使用df_min.values
和访问df_max.values
。但是,这是一个或多个数组。然后你需要flatten
它来获得一个一维数组才能使用fill_between
.以下是一种解决方案:
x = df_max.index.values
plt.plot(df_max, '-o',df_min,'-o')
plt.fill_between(x,df_min.values.flatten(),df_max.values.flatten(), color='grey',alpha='0.5')
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句