python - 用于 plotly express 热图的自定义悬停模板
问题描述
我正在尝试在 python 中使用包含其他变量的自定义悬停模板从 pandas 数据框plotly.express
生成热图。例如:
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”界面(如果是,如何)?
解决方案
我想我找到了答案:
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()
推荐阅读
- javascript - 错误:正文必须是字符串。使用 Type-graphql 和 apollo-server-express 时收到:{ resolvers: [[function HelloResolver]], validate: false }
- swift - 在 Xcode 中仅从包含多个框架的文件夹中导入一个框架
- python-3.x - 如何通过python中的套接字发送整数
- angular - 动态行详细信息取决于内容高度,ngx-datatable 可能吗?
- c# - 管理缓存异步数据的最佳实践/良好模式是什么?
- javascript - 使用 console.log 时无法读取未定义的属性“clientX”
- python - 有效地遍历数据框以识别超过 2000 万个不同标题中的标签
- python - 旋转时禁用图形中的“阴影”
- excel - Excel中的交叉连接
- flutter - 如何在具有嵌套小部件的列上实现 SingleChildScrollView?