Plotly Graph 对象:显示悬停信息不起作用
Posted
技术标签:
【中文标题】Plotly Graph 对象:显示悬停信息不起作用【英文标题】:Plotly Graph Objects: Show Hover information does not work 【发布时间】:2020-12-10 23:50:13 【问题描述】:如何将“值”列中的悬停信息添加到此图?
import plotly-graph_objects as go
fig = go.Figure()
fig.add_trace(go.Scatter(x = df.category,
y = df.type,
mode='markers',
marker="color": df.value,
"colorscale": 'Sunsetdark',
"size": df["size"],
"showscale": True
),
)
我的数据框如下所示:
category value type size
8 B 95890.0 A 19.171122
35 G 95890.0 B 22.312869
67 V 4113.75 C 20.188301
.
.
.
我尝试将参数hoverinfo = df.value
传递给go.Scatter()
,但这不起作用。它可以与 plotly express 一起使用,但我想使用 plotly graph 对象。错误说(无效元素是我的 df 的前 10 个):
ValueError:
Invalid element(s) received for the 'hoverinfo' property of scatter
Invalid elements include: [95890.0, 69910.0, 4113.75, 40450.0, 77530.0, 67470.0, 97660.03, 644340.03, 79488.89, 45591.7399999998]
The 'hoverinfo' property is a flaglist and may be specified
as a string containing:
- Any combination of ['x', 'y', 'z', 'text', 'name'] joined with '+' characters
(e.g. 'x+y')
OR exactly one of ['all', 'none', 'skip'] (e.g. 'skip')
- A list or array of the above
【问题讨论】:
【参考方案1】:您可以将df.value
传递为text
,然后设置hoverinfo='text'
。请注意,由于您设置了mode='markers'
,因此绘图本身不会显示任何文本。
import plotly.graph_objects as go
import pandas as pd
df = pd.DataFrame('category': ['B', 'G', 'V'],
'value': [95890.0, 95890.0 , 4113.75],
'type': ['A', 'B', 'C'],
'size': [19.171122, 22.312869, 20.188301])
fig = go.Figure()
fig.add_trace(go.Scatter(x=df.category,
y=df.type,
text=df.value,
hoverinfo='text',
mode='markers',
marker='color': df.value,
'colorscale': 'Sunsetdark',
'size': df.size,
'showscale': True))
fig.show()
【讨论】:
以上是关于Plotly Graph 对象:显示悬停信息不起作用的主要内容,如果未能解决你的问题,请参考以下文章
Python plotly scatter_geo 修改悬停数据
如何在 Python 3 的 Plotly 中将其悬停在折线图中一次显示数据点及其标签?
Python/Plotly:如何使用要显示的信息自定义悬停模板?
Plotly:如何仅将垂直和水平线(十字准线)显示为悬停信息?