自定义破折号的悬停信息

Customizing hover info of dash plotly

我正在使用来自 dash bio 的簇图,想知道是否有一种方法可以将悬停键从 'x,y,z' 更改为所需的标签,这在 plotly 中是可行的吗? 通过更改 hover_info,可以 select 选择悬停时显示的内容,但不允许更改按键。这是我测试的代码。

import pandas as pd
import dash_core_components as dcc
import dash_bio as dashbio

df = pd.read_csv("https://git.io/clustergram_brain_cancer.csv").set_index("ID_REF")

columns = list(df.columns.values)
rows = list(df.index)

clustergram = dashbio.Clustergram(
    data=df.loc[rows].values,
    row_labels=rows,
    column_labels=columns,
#     color_threshold={
#         'row': 250,
#         'col': 700
#     },
    color_list={
        'row': 'black',
        'col': 'black',
        'bg': 'black'
    },
    color_map= [
        [0.0, "#339AF0"],
        [0.5, "#FFFFFF"],
        [1.0, "#E64980"]],
    height=800,
    width=700,
    display_ratio=[0.7, 0.3]
)

#clustergram
res=dcc.Graph(figure=clustergram)
for i in res.to_plotly_json()['props']['figure']['data']:
  i.update({'hoverinfo':['x','y','z']})
clustergram
  • 所有例子return一个情节图
  • 因此可以使用正常的技术来操纵图形
clustergram.for_each_trace(
    lambda t: t.update(hovertemplate="custom x: %{x}<br>y %{y}<br>z %{z}")
    if isinstance(t, go.Heatmap)
    else t
)

完整代码

import pandas as pd
import dash_core_components as dcc
import dash_bio as dashbio
import plotly.graph_objects as go

df = pd.read_csv("https://git.io/clustergram_brain_cancer.csv").set_index("ID_REF")

columns = list(df.columns.values)
rows = list(df.index)

clustergram = dashbio.Clustergram(
    data=df.loc[rows].values,
    row_labels=rows,
    column_labels=columns,
    color_threshold={"row": 250, "col": 700},
    height=800,
    width=700,
    color_map=[
        [0.0, "#636EFA"],
        [0.25, "#AB63FA"],
        [0.5, "#FFFFFF"],
        [0.75, "#E763FA"],
        [1.0, "#EF553B"],
    ],
)

clustergram.for_each_trace(
    lambda t: t.update(hovertemplate="custom x: %{x}<br>y %{y}<br>z %{z}")
    if isinstance(t, go.Heatmap)
    else t
)