Python plotly express热图的自定义鼠标悬停模板

Python plotly express热图的自定义鼠标悬停模板,python,plotly-python,Python,Plotly Python,我正在尝试使用python中的plotly.express从带有自定义悬停模板的pandas数据帧生成一个包含其他变量的数据帧。例如: import pandas as pd import plotly.express as px df = pd.DataFrame({'A': [10, 11, 12], 'B': [10, 12, 14], 'C': [12, 14, 16]}, index=['joe', 'tom', 'bob']) fig = px.imshow(df

我正在尝试使用python中的plotly.express从带有自定义悬停模板的pandas数据帧生成一个包含其他变量的数据帧。例如:

import pandas as pd
import plotly.express as px

df = pd.DataFrame({'A': [10, 11, 12], 'B': [10, 12, 14], 'C': [12, 14, 16]}, 
       index=['joe', 'tom', 'bob'])

fig = px.imshow(df)
fig.update_layout(xaxis={'title': 'Letters'}, yaxis={'title': 'Nicknames'})
fig.show()
给我这个:

我想要的是在悬停信息中添加或替换一个变量,例如,将昵称替换为Joseph、Thomas和Robert


这必须是可能的,但我不知道如何利用热图。在plotly.express中是否有直接的方法来执行此操作?我应该改用go界面吗?如果是,如何按以下格式自定义轴标签和比例

px.imshow(df, labels=dict(x='',y=''), x=[], y=[])
代码:


可以按以下格式自定义轴标签和比例

px.imshow(df, labels=dict(x='',y=''), x=[], y=[])
代码:


我想我找到了答案:

import pandas as pd
import numpy as np
import plotly.express as px

df = pd.DataFrame({'A': [10, 11, 12], 'B': [10, 12, 14], 'C': [12, 14, 16]}, 
       index=['joe', 'tom', 'bob'])

names = ['Joseph', 'Thomas', 'Robert']
fig = px.imshow(df)
fig.update(data=[{'customdata': np.repeat(names, len(df.columns)).reshape(3, 3),
    'hovertemplate': 'Letter: %{x}<br>Nickname: %{y}<br>Fullname: %{customdata}<br>Color: %{z}<extra></extra>'}])
fig.update_layout(xaxis={'title': 'Letters'}, yaxis={'title': 'Nicknames'})
fig.show()


我想我找到了答案:

import pandas as pd
import numpy as np
import plotly.express as px

df = pd.DataFrame({'A': [10, 11, 12], 'B': [10, 12, 14], 'C': [12, 14, 16]}, 
       index=['joe', 'tom', 'bob'])

names = ['Joseph', 'Thomas', 'Robert']
fig = px.imshow(df)
fig.update(data=[{'customdata': np.repeat(names, len(df.columns)).reshape(3, 3),
    'hovertemplate': 'Letter: %{x}<br>Nickname: %{y}<br>Fullname: %{customdata}<br>Color: %{z}<extra></extra>'}])
fig.update_layout(xaxis={'title': 'Letters'}, yaxis={'title': 'Nicknames'})
fig.show()


我知道。我想让轴标签保持原样,并更改鼠标悬停在热图中单元格上时显示的显示值。是否运行了代码?在我的环境中,悬停的文本显示更改的文本。是的,我运行了您的代码,得到了示例中显示的结果,这不是我想要的。我要乔、汤姆、鲍勃在Y轴上,约瑟夫、托马斯、罗伯特在悬停框里,我知道。我想让轴标签保持原样,并更改鼠标悬停在热图中单元格上时显示的显示值。是否运行了代码?在我的环境中,悬停的文本显示更改的文本。是的,我运行了您的代码,得到了示例中显示的结果,这不是我想要的。我要乔、汤姆、鲍勃在Y轴上,约瑟夫、托马斯、罗伯特在悬浮框里