【问题标题】:How to show color map of a value sum rather than average in plotly sunburst如何在情节森伯斯特中显示值总和而不是平均值的颜色图
【发布时间】:2021-05-27 11:51:09
【问题描述】:

我有一个看起来像这样的图表:

根据 plotly 的文档:

如果传递了颜色参数,则节点的颜色计算为其子节点颜色值的平均值,并按其值加权。

我希望颜色图的最大值是money_generated_sum,这不是我的df 中的列,而是可以自行生成的内容。我使用的列是money_generated

df 遵循以下结构:

category      new      money_generated
dog           False    500
cat           True     800
cat           False    70
dog           False    5000
dog           True     300
import plotly.express as px
fig = px.sunburst(df, path=['category','new'], 
                      values='money_generated',
                      color = 'money_generated')
fig.show()

是否可以更改 plotly sunburst 图表中的颜色映射值?

【问题讨论】:

  • 我们可以看看df 重现您的问题的样子吗?
  • @DerekO,添加示例df

标签: python plotly sunburst-diagram


【解决方案1】:

这可能有点 hacky。可能有更好的方法可以直接在 fig 对象中更改值,但这种方法对我有用:

d=fig.to_dict()
for trace in d['data']:
    trace['marker']['colors']=trace['values']

plotly.offline.plot(d, validate=False)

只有在同一个图中有多个旭日形图案时,才需要对“数据”中的值进行 for 循环。

【讨论】:

    猜你喜欢
    • 2012-08-13
    • 2019-04-25
    • 1970-01-01
    • 2011-03-27
    • 1970-01-01
    • 1970-01-01
    • 2012-02-18
    • 2018-08-15
    • 1970-01-01
    相关资源
    最近更新 更多