我想使用 Pandas 创建一个绘图来显示特定工作日内商品价格的标准差(在我的例子中,一周中有 6 个相关天,每个天在 x 轴上显示为 0-5)。
它似乎有效,但是每个标准偏差条旁边还有另一组较小的条,其字面值也为 0-5。
我认为这意味着我也无意中绘制了一周中的某一天。
如何去掉这些较小的条形图并只显示标准差条形图?
sales_std=sales_std[['WeekDay','price']].groupby(['WeekDay']).std()
.reset_index()
这是我尝试绘制图表的地方:
p = sales_std.plot(figsize=
(15,5),legend=False,kind="bar",rot=45,color="orange",fontsize=16,
yerr=sales_std);
p.set_title("Standard Deviation", fontsize=18);
p.set_xlabel("WeekDay", fontsize=18);
p.set_ylabel("Price", fontsize=18);
p.set_ylim(0,100);
最佳答案
您正在绘制 WeekDay
和price
同时(即绘制整个 Dataframe
)。为了显示 price
的条形只是,你需要绘制 Series
给定WeekDay
作为索引(因此 reset_index()
之后不需要 groupby()
)。
# you don't need `reset_index()` in your code
sales_std=sales_std[['WeekDay','price']].groupby(['WeekDay']).std()
sales_std['price'].plot(kind='bar')
注意:我故意省略了代码中的图形样式部分,以专注于解决问题。
关于python - Pandas 中情节上的额外条形图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50981379/