如何在情节中制作计数图

新手上路,请多包涵

我是新手。我正在尝试在 plotly 中创建一个计数图。我正在阅读一个数据框,这是我在数据框中的列和值。

名称 缺陷严重程度

用户 1 中等

用户 1 中等

用户 1 高

用户 2 高

这是我希望显示最终图表的方式

图片

谁能建议我如何在 Plotly 中编码?

原文由 Prasanna 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 698
1 个回答

您可以使用两行代码,借助 pandas groupby 和 plotly 的 barmode 属性。

Plotly的条形图有一个特定的属性来控制如何显示条形,它被称为 barmode ,引用API文档:

barmode: str (default 'relative' ) One of 'group' , 'overlay' or 'relative' In 'relative' mode, bars are正值堆叠在零以上,负值堆叠在零以下。在 'overlay' 模式下,条形图一个接一个地绘制。在 'group' 模式下,条形图彼此并排放置。

有关示例,请参阅 条形图文档

现在,以您的示例为例:

 # import needed libraries
import pandas as pd
import plotly.express as px

# some dummy dataset
df = pd.DataFrame(
    {
        "Name": ["User1", "User1", "User1", "User2"],
        "Defect severity": ["Medium", "Medium", "High", "High"],
    }
)

您需要按 NameDefect severity 列进行分组,然后使用 count 聚合函数(我建议你看这个 问题

 df = df.groupby(by=["Name", "Defect severity"]).size().reset_index(name="counts")

现在的数据将如下所示:

姓名缺陷严重程度计数0用户1高的1个1个用户1中等的2个2个用户2高的1个

最后,您可以使用 plotly 条形图:

 px.bar(data_frame=df, x="Name", y="counts", color="Defect severity", barmode="group")

图表将是:

在此处输入图像描述

给你!仅用两行代码,您就得到了一个漂亮的 分组 条形图。

原文由 Reslan Tinawi 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题