绘制 100% 堆叠图问题

2023-12-11

我得到了一个数据框 df5,其中包含我从 read_csv 读取的下表,

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 个堆叠的,图例是已售出的产品总数,而不是类别中的不同类别。

enter image description here

有人可以帮忙吗?谢谢。

问候, 大堂


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

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)

对我来说这会产生以下结果:

enter image description here

你可以做同样的事情Total_Profit分别地。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

绘制 100% 堆叠图问题 的相关文章

随机推荐

  • 从列表中删除重复的项目

    我尝试跟随这个帖子但是 它似乎对我不起作用 我尝试了这段代码 for bresult in response css LIST SELECTOR NAME SELECTOR h2 a attr href yield name bresult
  • 有没有办法设置 webpack 配置来加载特定的 core-js 条目

    免责声明 除了简单的设置之外 我对 webpack 或 babel 不太熟悉 所以如果问题不清楚 那么我深表歉意 并将尽力提供进一步的说明 因此 目前的情况是 一位同事最近更新了一堆软件包 其中包括 babel 并且 babel 不再正确地
  • 计算 32 位整数中设置的位数

    代表数字 7 的 8 位如下所示 00000111 三位被设置 确定 32 位整数中设置位数的算法有哪些 这被称为 汉明重量 popcount 或 横向加法 一些 CPU 具有单个内置指令来完成此操作 而其他 CPU 则具有作用于位向量的并
  • 如何使用 apache Camel 验证 xsd?

    我正在使用 apacheservicemix 并尝试使用 apache Camel 验证 xml 文档 我有一条名为 Students route xml 的路线
  • 单例与 Swift 3.0

    我用 Swift 2 0 实现了这个 Xcode 的建议不仅令人困惑 而且还会导致编译错误 这是一个用户传递 callfunc 闭包的库 Before protocol MyProtocol 主类 private static var t
  • 吃完 EOF 后重用 std::cin

    UNIX 命令wc有这个功能 wc aaa bbb ccc
  • 使用 VBScript 读取 CSV 文件

    我有一个包含 4 个字段的文件 A B C D 我只想提取第四个字段并将其更改为 E 有办法实现这个吗 假设这些值不包含逗号 请使用读取文件文件系统对象 FSO 那么Split每行以逗号分隔 根据需要更改包含 4 个值的结果数组 然后joi
  • R data.table 按名称进行多列转换[重复]

    这个问题在这里已经有答案了 设 DT 为数据表 DT lt data table V1 factor 1 10 V2 factor 1 10 V9 factor 1 10 是否有更好 更简单的方法来进行多列因子转换 如下所示 DT Vn1
  • 简写“index >= 0 && count++”有什么作用?

    我正在消磨时间阅读下划线 字符串函数 当我发现这个奇怪的简写时 function count str substr var count 0 index for var i 0 i lt str length index str indexO
  • 这种初始化方法有什么区别?

    这两个代码有什么区别 class SomeClass SomeType val new SomeType and class SomeClass SomeType val SomeClass val new SomeType 哪种方法是首选
  • R 闪亮的 RODBC 连接失败

    我有一个可以在本地运行的 R 闪亮应用程序 但是当我上传它时 出现错误 first argument is not an open RODBC channel 这是我的代码 conn lt suppressWarnings odbcDriv
  • C 计算字符串中某个字符出现的次数

    我是 C 新手 我正在自己工作explode像函数一样 我正在尝试计算指定字符在字符串中出现的次数 int count chars char string char chr int count 0 int i for i 0 i lt si
  • 如何使用selenium python点击谷歌上的第一个结果

    我正在尝试点击谷歌结果上的第一个结果 这是我的代码 我在其中输入从 csv 文件读取的 chennai craiglist 所以我确信有机结果中的第一个链接将是 chennai craiglist org 但我很安静 不知道该怎么做 fro
  • 如何用awk合并两个文件?

    我有两个文件的顺序相同 并且行数相同 file1 仅2列 562 201 RIR1 562 202 RIR1 562 203 RIR1 562 204 RIR1 562 205 RIR1 562 206 RIR1 562 207 RIR1
  • 库未在 Python 中初始化(pygame)

    所以我有一个在类函数中创建的字体 我在代码中多次调用这个函数并且它运行得很好 但是有一次当我调用它时它说 self font pygame font Font None self text size RuntimeError Library
  • UWP 项目中的条件包引用

    我想使用一个 NuGet 包仅用于调试配置 我found如果我有一个针对 Creators Update 15063 的 UWP 项目 则可以在 Visual Studio 2017 中执行此操作
  • Odoo 规则实际上运行正常吗?

    我的目的 我试图使用安全规则来实现以下目的 我需要在用户模型中添加一个字段 该字段将设置每个用户可以修改哪些仓库 这是因为我想隐藏您不允许看到的库存变动 其他仓库的库存变动 我做了什么 我创建了一个多对多字段命名allowed wareho
  • Bootstrap 工具提示不起作用

    我在这里要疯了 我有以下 HTML a href title A nice tooltip test a 而且Bootstrap风格的工具提示拒绝显示 只是一个普通的工具提示 我的 bootstrap css 工作得很好 我可以看到其中的类
  • c++11 如何实现`std::string ToString(std::tuple &t)`?

    我想要一个非常友好的ToString许多类型的函数 包括std tuple 函数是这样的 template
  • 绘制 100% 堆叠图问题

    我得到了一个数据框 df5 其中包含我从 read csv 读取的下表 Week Days Category Total Products Sold Total Profit 0 Monday A 3221 9999 53 0 Monday