问题描述
我确信这相对容易,但我似乎无法让它发挥作用.我想使用matplotlib模块以日期为x轴,以气体为y轴和以std为误差线来绘制此df.我可以使用pandas包装器使其正常工作,但是后来我不知道如何设置错误栏的样式.
I'm sure this is relatively easy, but I can't seem to make it work. I would like to plot this df, with date as the x-axis, gas as the y-axis and std as errorbars using the matplotlib module. I can get it to work using the pandas wrapper, but then I have no idea how to style the errorbars.
使用 pandas matplotlib 包装器
Using pandas matplotlib wrapper
我可以使用 matplotlib pandas 包装器绘制误差线 trip.plot(yerr='std', ax=ax, marker='D')
但是我不知道如何访问错误栏以使用 plt.errorbar()
I can plot the error bars using the matplotlib pandas wrapper trip.plot(yerr='std', ax=ax, marker ='D')
But then i'm not sure how to access the error bars to style them like one could in matplotlib using plt.errorbar()
使用Matplotlib
Using Matplotlib
fig, ax = plt.subplots()
ax.bar(trip.index, trip.gas, yerr=trip.std)
或
plt.errorbar(trip.index, trip.gas, yerr=trip.std)
上面的代码抛出这个错误TypeError: unsupported operand type(s) for -: 'float' and 'instancemethod'
The above code throws this error TypeError: unsupported operand type(s) for -: 'float' and 'instancemethod'
所以基本上,我想要帮助的是使用标准 matplotlib 模块而不是 Pandas 包装器绘制误差条.
So basically, what I would like help with is plotting the errorbars using standard matplotlib module rather than the pandas wrapper.
DF ==
date gas std
0 2015-11-02 6.805351 7.447903
1 2015-11-03 4.751319 1.847106
2 2015-11-04 2.835403 0.927300
3 2015-11-05 7.291005 2.250171
推荐答案
std
是数据帧上的一个方法,例如 df.std()
.
std
is a method on a dataframe, ex df.std()
.
使用
plt.errorbar(trip.index, trip['gas'], yerr=trip['std'])
或者如果你有 mpl1.5.0+
or if you have mpl1.5.0+
plt.errorbar(trip.index, 'gas', yerr='std', data=trip)
这篇关于使用 Pandas 数据框绘制误差线 matplotlib的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!