gpt4 book ai didi

plotly - 为 Python Plotly 热图中的行/列组分配颜色

转载 作者:行者123 更新时间:2023-12-04 17:18:55 25 4
gpt4 key购买 nike

有没有办法使用plotly在 Python 中生成热图(例如,通过 imshow )并为不同的行/列组分配不同的颜色?目标是生成类似于 clustermap 的图可以用 seaborn 生成没有树状图,但使用行/列的外部颜色来指示不同的组,如下面的示例所示,并从 seaborn's documentation 获得其中行分配有不同的颜色以指示 species :

lut = dict(zip(species.unique(), "rbg"))
row_colors = species.map(lut)
g = sns.clustermap(iris, row_colors=row_colors)

特别是,是否有使用 plotly.express 的解决方案?并从(或直接使用)pandas 中的数据开始的 DataFrame

final goal obtained with seaborn

最佳答案

添加颜色以区分热图上的行/列组可以使用子图实现,其中使用一个行/列 hetamap 来区分组。下面显示了一个示例:

fig = make_subplots(rows=2, cols=2, column_widths=[0.9, 0.1], row_heights=[0.9, 0.1], vertical_spacing=0.02)
table = pd.pivot_table(df, index='A', columns='B', values='C', aggfunc='first')
fig.append_trace(go.Heatmap(z=table, colorscale = 'bugn', colorbar={'x' : 1.1, 'y' : 0.5}), row=1, col=1)
fig.append_trace(go.Heatmap(z=df1, colorscale='spectral', showscale=False), row=1, col=2)
fig.append_trace(go.Heatmap(z=df2, colorscale='plasma', showscale=False), row=2, col=1)
fig.update_layout(xaxis2_showticklabels=False, yaxis2_showticklabels=False,
xaxis3_showticklabels=False, yaxis3_showticklabels=False,
xaxis_side='top')
fig.show()

enter image description here

关于plotly - 为 Python Plotly 热图中的行/列组分配颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67368404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com