Python Plotly:如何显示太阳爆发图的图例?

Python Plotly:如何显示太阳爆发图的图例?,python,plotly,plotly-python,Python,Plotly,Plotly Python,我试图在我的《阳光灿烂》情节旁边展示传奇故事 太阳爆发的例子: df = px.data.tips() fig = px.sunburst(df, path=['day', 'time'], values='total_bill') fig.show() 理想情况下,我希望在黑色矩形内显示内部或外部值以及相应的颜色 我习惯于在matplotlib中手动编辑图例,但在plotly中找不到这样做的方法 我还尝试添加注释,但这样做也会添加X轴和Y轴。显示外部值没有多大意义,因为晚餐有三种不同的颜色。

我试图在我的《阳光灿烂》情节旁边展示传奇故事

太阳爆发的例子:

df = px.data.tips()
fig = px.sunburst(df, path=['day', 'time'], values='total_bill')
fig.show()
理想情况下,我希望在黑色矩形内显示内部或外部值以及相应的颜色

我习惯于在matplotlib中手动编辑图例,但在plotly中找不到这样做的方法


我还尝试添加注释,但这样做也会添加X轴和Y轴。

显示外部值没有多大意义,因为晚餐有三种不同的颜色。但是您可以使用注释在sunburst图表中包含内部值。你是对的,这将触发轴和背景,但我们总是可以删除这些再次。下面的代码段将生成此图:

完整代码:
显示外部值没有多大意义,因为晚餐有三种不同的颜色。但是您可以使用注释在sunburst图表中包含内部值。你是对的,这将触发轴和背景,但我们总是可以删除这些再次。下面的代码段将生成此图:

完整代码:
你介意告诉我们你想显示什么作为图例吗?我想显示名称和值。每个输入的名称和值?也许你可以用R语言“ggsunburt”来做。我提到过它。@vestland它成功了!谢谢我一直在研究另一个解决方案,在太阳爆发后的散点图中,我隐藏了除图例以外的所有元素。完成后我将与大家分享。您是否介意告诉我们您希望以图例的形式显示什么?我想显示名称和值。每个输入的名称和值?也许您可以用R语言“ggsunburt”来完成。我提到过它。@vestland它成功了!谢谢我一直在研究另一个解决方案,在太阳爆发后的散点图中,我隐藏了除图例以外的所有元素。完成后我会和大家分享。
import plotly.express as px

df = px.data.tips()
fig = px.sunburst(df, path=['day', 'time'], values='total_bill')
D = df['day'].unique()

colors=['#EF553B',
         '#636EFA',
         '#00CC96',
         '#AB63FA',
         '#FFA15A',
         '#19D3F3',
         '#FF6692',
         '#B6E880',
         '#FF97FF',
         '#FECB52']

for i, m in enumerate(D):
    fig.add_annotation(dict(font=dict(color=colors[i],size=14),
                                        x=0.8,
                                        y=1-(i/10),
                                        showarrow=False,
                                        text=D[i],
                                        textangle=0,
                                        xanchor='left',
                                        xref="paper",
                                        yref="paper"))

fig.update_layout(
    paper_bgcolor='rgba(0,0,0,0)',
    plot_bgcolor='rgba(0,0,0,0)'
)

fig.update_xaxes(tickfont=dict(color='rgba(0,0,0,0)'))
fig.update_yaxes(tickfont=dict(color='rgba(0,0,0,0)'))

fig.show()