簡體   English   中英

polty 熱圖的樣式

[英]Styling for plolty heatmap

我只想顯示此熱圖“Total Wins”的一列,因此它將是第一個垂直列。 我希望該圖仍然是具有圖例並且是交互式的 plotly object。

'''

import plotly.figure_factory as ff
import plotly.graph_objects as go
import numpy as np
corr = new_best_teams.corr()
corr = round(corr,3)
mask = np.triu(np.ones_like(corr, dtype=bool))
new_best_teams_mask = corr.mask(mask)

fig = ff.create_annotated_heatmap(z=new_best_teams_mask.to_numpy(), 
                                  x=new_best_teams_mask.columns.tolist(),
                                  y=new_best_teams_mask.columns.tolist(),
                                  colorscale=px.colors.diverging.RdBu,
                                  hoverinfo="none", 
                                  showscale=True, ygap=1, xgap=1
                                 )

fig.update_xaxes(side="bottom")

fig.update_layout(
    title_text='Heatmap', 
    title_x=0.5, 
    width=1000, 
    height=1000,
    xaxis_showgrid=False,
    yaxis_showgrid=False,
    xaxis_zeroline=False,
    yaxis_zeroline=False,
    yaxis_autorange='reversed',
    template='plotly_white'
)


for i in range(len(fig.layout.annotations)):
    if fig.layout.annotations[i].text == 'nan':
        fig.layout.annotations[i].text = ""

fig.show()

'''

這是 output 的圖像:在此處輸入圖像描述

這是我想要的圖像(我希望它仍然是包含圖例的交互式 plotly 圖形):在此處輸入圖像描述

在這種情況下,您不需要蒙版或上三角形。 嘗試只切片第一列和 plot 它:

corr_total_wins = corr.iloc[:, :1]
fig = fig.ff.create_annotated_heatmap(corr_total_wins)

ff 的替代方案是https://plotly.com/python/imshow/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM