python - 如何在plotly中制作countplot

标签 python python-3.x plotly plotly-dash

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

名称缺陷严重程度

用户1媒体

用户1媒体

用户1高

用户2高

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

img

有人可以建议我如何在 Plotly 中编码吗?

最佳答案

在 pandas groupby 的帮助下,只需两行代码即可完成此操作和 plotly 的barmode属性。

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

barmode: str (default 'relative') One of 'group', 'overlay' or 'relative' In 'relative' mode, bars are stacked above zero for positive values and below zero for negative values. In 'overlay' mode, bars are drawn on top of one another. In 'group' mode, bars are placed beside each other.

请参阅bar chart documentation例如。

现在,举个例子:

# 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"],
    }
)

您需要按 Name 进行分组和Defect severity列,然后使用 count聚合函数(我建议你看看这个 question )

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

数据现在如下所示:

<表类=“s-表”> <标题> 名称 缺陷严重程度 计数 <正文> 0 用户1 高 1 1 用户1 中 2 2 用户2 高 1

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

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

图表将是:

enter image description here

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

关于python - 如何在plotly中制作countplot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52467562/

相关文章:

python - 换行符和破折号在神社中无法正常工作

python - 用 Pane 数据填充数据框

python - 将 JSON 值转换为字符串

python - 无法在python的绘图表面图中更改轴标题

python - Plotly:悬停文本字段中的日期格式问题

python - 如何使用 matplotlib 或 plotly 在 3-D 曲面图上叠加等高线图?

python - Pandas 按组值过滤行

Python 和 Beautifulsoup ||写入文件之前使用变量的正则表达式

python - 从 paramiko 获取 PID

Django 在模板中渲染动态图像