在绘图中向堆积条形图添加计数百分比

2024-04-02

Given the following chart created in plotly. enter image description here

我想添加每个块内 M 和 F 类别的每个计数的百分比值。

用于生成该图的代码。

arr = np.array([
        ['Dog', 'M'], ['Dog', 'M'], ['Dog', 'F'], ['Dog', 'F'],
        ['Cat', 'F'], ['Cat', 'F'], ['Cat', 'F'], ['Cat', 'M'],
        ['Fox', 'M'], ['Fox', 'M'], ['Fox', 'M'], ['Fox', 'F'],
        ['Dog', 'F'], ['Dog', 'F'], ['Cat', 'F'], ['Dog', 'M']
    ])

df = pd.DataFrame(arr, columns=['A', 'G'])

fig = px.histogram(df, x="A", color='G', barmode="stack")
fig.update_layout(height=400, width=800)

fig.show()

据我所知,Plotly 中的直方图没有文本属性。但是您可以自己生成条形图,然后通过文本属性添加百分比。

import numpy as np
import pandas as pd
import plotly.express as px

arr = np.array([
        ['Dog', 'M'], ['Dog', 'M'], ['Dog', 'F'], ['Dog', 'F'],
        ['Cat', 'F'], ['Cat', 'F'], ['Cat', 'F'], ['Cat', 'M'],
        ['Fox', 'M'], ['Fox', 'M'], ['Fox', 'M'], ['Fox', 'F'],
        ['Dog', 'F'], ['Dog', 'F'], ['Cat', 'F'], ['Dog', 'M']
    ])

df = pd.DataFrame(arr, columns=['A', 'G'])

df_g = df.groupby(['A', 'G']).size().reset_index()
df_g['percentage'] = df.groupby(['A', 'G']).size().groupby(level=0).apply(lambda x: 100 * x / float(x.sum())).values
df_g.columns = ['A', 'G', 'Counts', 'Percentage']

px.bar(df_g, x='A', y=['Counts'], color='G', text=df_g['Percentage'].apply(lambda x: '{0:1.2f}%'.format(x)))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在绘图中向堆积条形图添加计数百分比 的相关文章

随机推荐

  • 保存应用程序状态 AIR

    有没有办法在 AIR 桌面版 Flex AS3 中保存应用程序状态以保存文件 Thanks 您需要确保您的所有课程都已可序列化 http en wikipedia org wiki Serialization 然后在退出应用程序时将它们序列
  • 使用 sha256 与用户 ID 进行哈希和加盐

    我将在我的网站上使用 sha256 以保护我的用户密码 并且作为盐 我正在考虑使用用户 ID int auto increment 这将是独特的 但不是很长和困难 并且公开 user php id 1 但它是否唯一很重要 对吧 hash s
  • 在 zf2 mvc 之外使用 Zend_Db zf2 模块

    我正在编写一个不基于 zf2 mvc 的 PHP 应用程序 我确实只想使用 Zend Db zf2 模块 我如何配置我的应用程序以了解 如何在需要的地方找到 Zend Db 相关的 PHP 文件 我使用 phyrus 下载了 zf2 Zen
  • 在 Swift 中创建线性重力场

    Swift 中似乎已弃用矢量方法的线性重力场 这种新语言中有一堆新的 SKFieldNode 但我似乎找不到一个类似于线性重力的 属性 direction 在 Swift 中甚至不可用 也许可以使用这个通用方法 customFieldWit
  • VBA 在 Excel 单元格填充时即时将字母转换为大写

    我正在寻找一个宏自动地发生事件时被激活 如果有人插入文本值或带有文本的值cell A1 一旦他按下输入并且单元格已填充if某处有一个小写它将转换为字母大写 然而 问题是它必须是自动的 而不必自己启动宏 在工作表代码区域中输入以下事件宏 Pr
  • Chrome 扩展程序更改 popup.html 文本

    我是一个完全的新手 我想从 p 标签中获取文本并将其放入另一个 p 标签中 这样当我单击我的扩展程序时 我会看到显示的两个文本 我做错了什么 以及我以后如何避免类似的错误 弹出 html p this is the text to be r
  • 以编程方式查找和替换 pdf 中的文本

    我正在尝试创建一个 Web 脚本 该脚本允许我更改已上传的 PDF 模板并重新输出它们 我已经尝试过 Zend 它允许我写入 PDF 但这意味着在某些空间中将 PDF 留空 这对于我的需要来说太原始 了 PDFFlip 也好不到哪去 我们需
  • 在 Windows 上链接 gRPC for Visual C++

    我正在尝试在 Visual C 项目中使用 gRPC 到目前为止我有 1 构建gRPC with vcpkg vcpkg install grpc x64 windows2 综合vcpgk带有视觉工作室的库 vcpkg integrate
  • 获取 lift 中的复选框和单选按钮值

    我正在尝试处理电梯框架中的表格 我的表单有一个复选框和单选按钮 我如何检查复选框是否被选中以及所选的单选按钮 我使用以下代码来获取其他元素值 风景
  • 像数组一样访问 json 对象中的元素[重复]

    这个问题在这里已经有答案了 可能的重复 我有一个嵌套数据结构 JSON 如何访问特定值 https stackoverflow com questions 11922383 i have a nested data structure js
  • 我的 Facebook 应用程序如何将消息发布到墙上?

    我已经知道如何代表 Facebook 用户使用图形 API 将某些内容发布到墙上 但现在我想以我的应用程序的名义发布一些内容 我正在尝试这样做 protected void btn submit Click object sender Ev
  • QWidget setGeometry 在不使用 QLayout 的情况下显示

    目标是在另一个 QWidget 中绘制一个 QWidget 子类 只给出坐标 include
  • 如何在命令行中执行 Julia 代码?

    我最近在 Julia 中转移了我的代码 我想知道如何在命令行中执行 Julia 代码 我知道 Julia 代码可以通过运行一次来 编译 但问题是我需要对集 群上的模拟模型进行参数扫描 我只能使用命令行 而不能使用 REPL 在集群上运行模拟
  • Twig 设置在下拉菜单中选择选项

    我目前正在从头开始编写 php mvc 并使用 twig 作为我的模板引擎 并且需要一些帮助来设置下拉列表中的选定选项 目前 在我的模型中 我有一个 sql 查询 它可以提取所有主管列表 并使用 twig for 循环将它们放入我的下拉列表
  • 通道适配器和消息网关模式有什么区别?

    无论我读了多少关于这两种模式的文章 我都看不出其中的区别 这是一个很好的问题 因为它们的相似之处在于它们都提供对消息系统的应用程序访问 我认为正是他们实现这一目标的方式使他们与众不同 通道适配器模式涉及如何从现有系统获取数据而不修改该系统
  • 在 Play 2.0 视图中转义 JavaScript 字符串?

    有没有一种简单的方法可以转义字符串以用作 Play 2 0 视图中的 JavaScript 字符串 例如 下面是一个简单的视图 它在 onclick 中创建带有确认框的链接 text String link Call message Str
  • 指数位数

    是否可以设置用于打印浮点数指数的位数 我想将其设置为3 现在 f 0 0000870927939438012 gt gt gt 14e f 8 70927939438012e 05 gt gt gt 0 14e f 8 709279e 00
  • 页面刷新而不是 Ajax Load 无需

    在表单提交时 我想加载一个带有 mysql 表的更新列表的 div 我将表单变量发送到 php 并将它们发布到 mysql 表中 同一页面显示完整的表数据 我想将数据加载到与表单相同的 div 标签中 因此 信息似乎正在表单上方加载 我的
  • 类型 '' 不能用作泛型类型或方法 '' 中的类型参数 'T'。没有从 '' 到 '' 的隐式引用转换

    我从数据库生成了 Linq 到实体模型并对其进行了修改 我制作了接口 public interface IValid byte Valid get set 并使一些生成的类继承该接口 我编写了通用类来访问数据库中的表 public List
  • 在绘图中向堆积条形图添加计数百分比

    Given the following chart created in plotly 我想添加每个块内 M 和 F 类别的每个计数的百分比值 用于生成该图的代码 arr np array Dog M Dog M Dog F Dog F C