如何使用 plotly.graph_objects 控制 Sunburst 的颜色输入?

问题描述

我想控制下面森伯斯特图中每个标签的颜色 - 当使用 plotly.graph_objects 而不是 plotly.express 时。

请参阅下面 documentation 中的示例:

import plotly.graph_objects as go

fig =go.figure(go.Sunburst(
    labels=[ "Eve","Cain","Seth","Enos","Noam","Abel","Awan","Enoch","Azura"],parents=["","Eve","Eve" ],values=[  65,14,12,10,2,6,4,4],branchvalues="total",))
fig.update_layout(margin = dict(t=0,l=0,r=0,b=0))

fig.show()

enter image description here

解决方法

这将允许访问和控制标记:

import plotly.express as px

greys = px.colors.sequential.Greys
reds = px.colors.sequential.Reds
blues = px.colors.sequential.Blues
greens = px.colors.sequential.Greens
magents = px.colors.sequential.Magenta

fig.data[0].marker.colors = ['',greys[5],reds[5],reds[6],reds[7],blues[5],greens[5],greens[6],magents[5]]

fig.show()

enter image description here