Python Pandas:绘制100%堆叠图问题

罗比

我从下表读取了从read_csv中读取的数据帧df5,

Week_Days,Category,Total_Products_Sold,Total_Profit
0.Monday,A,3221,9999.53
0.Monday,B,1038,26070.33
0.Monday,C,699,13779.56
0.Monday,E,3055,18157.26
0.Monday,F,47569,215868.15
0.Monday,G,2348,23695.25
0.Monday,H,6,57
0.Monday,I,14033,64594.24
0.Monday,J,13876,47890.91
0.Monday,K,3878,14119.74
0.Monday,L,243,2649.6
0.Monday,M,2992,16757.38
1.Tuesday,A,2839,8864.78
1.Tuesday,B,1013,26254.69
1.Tuesday,C,656,13206.98
1.Tuesday,E,2696,15872.45
1.Tuesday,F,43039,197621.18
1.Tuesday,G,2107,21048.72
1.Tuesday,H,3,17
1.Tuesday,I,12297,56942.99
1.Tuesday,J,12095,40724.2
1.Tuesday,K,3418,12551.26
1.Tuesday,L,243,2520.3
1.Tuesday,M,2375,13268.28
2.Wednesday,A,2936,9119.93
2.Wednesday,B,1061,26927.86
2.Wednesday,C,634,10424.05
2.Wednesday,E,2835,16627.35
2.Wednesday,F,46128,218014.59
2.Wednesday,G,1986,19173.64
4.Friday,H,24,233
4.Friday,I,17576,81648.75
4.Friday,J,16468,55820.9
4.Friday,K,4294,16603.39
4.Friday,L,440,4258.51
4.Friday,M,3600,20142.44
5.Saturday,A,4658,15051.13
5.Saturday,B,1492,38236.07
5.Saturday,C,1057,15449.7
5.Saturday,E,5335,29904.96
5.Saturday,F,79925,362120.61
5.Saturday,G,4324,44088.79
5.Saturday,H,26,933
5.Saturday,I,22688,106313.86
5.Saturday,J,21882,74725.11
5.Saturday,K,5402,20875.84
5.Saturday,L,458,4692.84
5.Saturday,M,4896,27769.68
6.Sunday,A,3429,11310.1
6.Sunday,B,1104,27282.99
6.Sunday,C,1051,11567.08
6.Sunday,E,3913,22740.63
6.Sunday,F,56048,259105.03
6.Sunday,G,3224,32528.39
6.Sunday,H,21,749
6.Sunday,I,15853,74876.77
6.Sunday,J,16072,55259.76
6.Sunday,K,4383,16058.36
6.Sunday,L,327,3348.82
6.Sunday,M,3551,20814.05

我想绘制2个100%堆叠的条形图,分别表示已售出的产品总数和利润总额,其中x轴是工作日,标签是不同的类别。

我的总销售商品代码是

df5 = df5.set_index(['Week_Days', 'Category'])
df5 = df5.div(df5.sum(1), axis=0)
ax = df5[['Total_Products_Sold']].plot(kind='bar', stacked=True, width = 0.3, figsize=(20, 10), colormap="RdBu")
patches, labels = ax.get_legend_handles_labels()
ax.legend(bbox_to_anchor=(1.1, 1.0))
ax.set_xlabel('Week Days')
ax.set_ylabel('Products Sold')

我返回的图看起来不需要任何东西。它不是堆叠的100,图例是“已售产品总数”,不是“类别”中的不同类别。

在此处输入图片说明

有人可以帮忙吗?谢谢。

问候,罗比

休ume

最简单的方法是使用您关心的值制作数据透视表。尝试这样的事情:

tps = df5.pivot_table(values=['Total_Products_Sold'], 
                      index='Week_Days',
                      columns='Category',
                      aggfunc='sum')

tps = tps.div(tps.sum(1), axis=0)
tps.plot(kind='bar', stacked=True)

对我来说,这产生了以下内容:

在此处输入图片说明

您可以Total_Profit单独做同样的事情

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 Python 中给定 Pandas 数据框绘制多个堆叠条形图

来自分类Dev

带有堆叠数据的Python Pandas子图

来自分类Dev

带有堆叠数据的Python Pandas子图

来自分类Dev

如何在python中并排绘制堆叠的条形图?(最好是seaborn)

来自分类Dev

如何在Python Pandas中从DataFrame绘制简单图?

来自分类Dev

无法在Pandas Python中饼图绘制我的数据

来自分类Dev

Python .csv to pandas dataframe 绘制散景烛台图

来自分类Dev

绘制堆叠条形图时出现问题

来自分类Dev

使用matplotlib在python中绘制堆叠的直方图

来自分类Dev

Python Pandas:条形图X轴问题

来自分类Dev

Python Pandas:条形图X轴问题

来自分类Dev

python中的堆叠圆形条形图

来自分类Dev

Pandas Python 中的堆叠直方图

来自分类Dev

在python中绘制热图

来自分类Dev

使用python绘制子图箱图

来自分类Dev

在python中使用plotly创建堆叠图或条形图

来自分类Dev

使用dygraph绘制堆叠图

来自分类Dev

Python:使用给定列以x轴为pandas数据框绘制条形图

来自分类Dev

使用 Pandas Python 绘制条形图时忽略 Figsize 参数

来自分类Dev

100%堆叠的条形图

来自分类Dev

堆叠的 100% 条形图

来自分类Dev

为什么我不能以绘制直方图子图的方式为来自 Pandas 的 DataFrame (Python) 的数据集在一个图中绘制多个散点子图?

来自分类Dev

在python中绘制条形图

来自分类Dev

python在spyder中绘制有向图

来自分类Dev

Python:根据数据绘制网络图

来自分类Dev

在python中绘制自定义图

来自分类Dev

如何在python中绘制密度图?

来自分类Dev

在Python中绘制分布图

来自分类Dev

Python:绘制大型矩阵的热图