如何在 px.treemap 的文本模板中显示用于颜色的值

How to show values used for color in texttemplate in px.treemap

我正在用 Plotly Treemap 做我的第一个工作。我想显示用于块中颜色的值。

使用 this 答案,我能够创建 customdata,并且树图呈现,但是值与数据帧的顺序不同,它显示 'Growth'在某些情况下,不同记录的值。也不是差一个。

示例数据:

Type,Stock,Holding,Growth
Equities,Sasol,500,118.06
ETFs,SATRIX Top 40,500,12.99

代码:

shares_data = pd.read_csv("stocks.csv", index_col=False)

fig = px.treemap(shares_data,
                 path=['Type', 'Stock'],
                 values='Holding',
                 color='Growth',
                 color_continuous_scale=[(0, "red"), (0.05, "yellow"), (1, "green")],
                 )

fig.data[0].customdata = shares_data.Growth

fig.data[0].texttemplate = "<b>%{label}</b><br>Holding: R%{value}<br>Growth: %{customdata:.2f}%<br>"

fig.show()

渲染:

阅读 this 后,我能够打印无花果的数据,其中包括:

 'marker': {'coloraxis': 'coloraxis',
           'colors': array([ 53.02, 25.17, -23.29, 10.21, 57.59,...

所以我可以通过以下方式访问这些值:

fig.data[0].customdata = fig.data[0].marker.colors

现在可以了。

[因为我真的为此苦苦挣扎,所以我决定 post 回答而不是删除问题,以防将来其他人发现它有用。]