gpt4 book ai didi

python - 将颜色映射到 plotly go.Pie 图表中的标签

转载 作者:行者123 更新时间:2023-12-05 01:35:15 27 4
gpt4 key购买 nike

我正在使用 make_subplots 和 go.Pie 绘制一系列 3 个饼图。我想最终将它们放在 dash 应用程序中,用户可以在其中过滤数据并且图形将更新。我如何将特定颜色映射到变量,以便男性始终为蓝色,女性始终为粉红色等。您可以使用 color_discrete_map 进行绘图表达,但绘图表达不支持子图 afaik。

这是我制作性别饼图的示例 df。其他 dfs 具有相同的格式,只是值不同。

    Gender  ACC_ID  percent
0 Female 57647 57.0
1 Male 37715 37.0
2 Other 5875 6.0

这是我用来制作图形的代码

fig = make_subplots(rows=1, cols=3, specs=[[{'type':'domain'}, {'type':'domain'},{'type':'domain'}]])
fig.add_trace(go.Pie(labels=age["Age_Group"], values=age["percent"],customdata=age["ACC_ID"], textinfo='label+percent',insidetextorientation='horizontal', textfont=dict(color='#000000'), marker_colors=px.colors.qualitative.Plotly),
1, 1)
fig.add_trace(go.Pie(labels=gender["Gender"], values=gender["percent"], customdata=gender["ACC_ID"],textinfo='label+percent',insidetextorientation='horizontal',textfont=dict(color='#000000'),marker_colors=px.colors.qualitative.Plotly),
1, 2)
fig.add_trace(go.Pie(labels=sample["Sample_Type"], values=sample["percent"], customdata=sample["ACC_ID"],textinfo='label+percent',texttemplate='%{label}<br>%{percent:.1%f}',insidetextorientation='horizontal',textfont=dict(color='#000000'),marker_colors=px.colors.qualitative.Prism),
1, 3)


fig.update_traces(hole=.4, hoverinfo='label+percent', hovertemplate="<b>%{label}</b><br>Percent: %{percent}<br>Total: %{customdata}<extra></extra>")

fig.update_layout(
showlegend=False,
uniformtext_minsize=14,
uniformtext_mode='hide',

annotations=[dict(text='Age', x=0.13, y=0.5, font_size=20, showarrow=False, font=dict(color="black")),
dict(text='Gender', x=0.5, y=0.5, font_size=20, showarrow=False,font=dict(color="black")),
dict(text='Sample', x=0.879, y=0.5, font_size=20, showarrow=False,font=dict(color="black"))])


plot(fig)

最佳答案

没有 Plotly Express,您可以尝试以下操作:

  • 通过添加以下内容来阻止 go.Pie() 对数据进行排序:

    sort=False
  • 定义颜色:

    fig.update_traces(marker=dict(colors=['blue', 'red', 'green']))

虽然它不如 color_discrete_map 干净。

关于python - 将颜色映射到 plotly go.Pie 图表中的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63162423/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com