我正试图在我阴暗的旭日形图旁边显示图例。
旭日示例:
df = px.data.tips()
fig = px.sunburst(df, path=['day', 'time'], values='total_bill')
fig.show()
理想情况下,我想在黑色矩形内显示内部或外部值以及相应的颜色。
我习惯于在matplotlib(https://stackoverflow.com/a/53324868/10226862)中手动编辑图例,但是我找不到在plotly中执行此操作的方法。
我也尝试添加注释,但是这样做还会添加X和Y轴。
答案 0 :(得分:2)
显示外部值没有太大意义,因为Dinner
具有三种不同的颜色。但是您可以 使用注释在森伯斯特图中包含内部值。没错,这会触发轴和背景,但是我们总是可以再次删除它们。下面的代码段将产生此图:
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()