如何在Plotly中为散点图的交互式标签添加额外列信息?
实现方案
你可以直接使用Plotly Express内置的hover_data参数来指定悬停时需要展示的额外列,具体修改如下:
- 首先补充字典转DataFrame的逻辑(你现有代码中只定义了字典d,没有赋值给df变量,运行会报错)
- 在
px.scatter中添加hover_data参数,传入需要展示的C、D、F列名列表
修改后的完整代码
import plotly.express as px import numpy as np import pandas as pd from plotly.graph_objs import * import plotly.graph_objects as go popisky = np.loadtxt('f.dat', unpack=True, dtype='str', usecols=[6]) data_n = np.loadtxt('f.dat', unpack=True, usecols=[0, 2, 5, 7]) data = data_n.tolist() d = {'A': data[0], 'B': data[1], 'C': data[2], 'D': popisky, 'F': data[3]} # 补充字典转DataFrame的逻辑 df = pd.DataFrame(d) # 新增hover_data参数指定需要展示的额外列 fig = px.scatter(df, x='A', y='B', hover_data=['C', 'D', 'F']) # 如果需要自定义悬停标签的展示格式,可以取消注释下方代码,按需修改展示文案即可 # fig.update_traces( # hovertemplate="A值: %{x}<br>B值: %{y}<br>C值: %{customdata[0]}<br>D值: %{customdata[1]}<br>F值: %{customdata[2]}" # ) fig.show()
customdata的索引和hover_data传入的列顺序一一对应,你可以根据需求调整悬停标签的展示顺序、自定义字段名称。
内容的提问来源于stack exchange,提问作者Elena Greg
相关产品推荐
相关产品推荐

