You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何设置Plotly散点图标注仅在鼠标悬停时可见

解决方案

你当前使用add_annotations添加的是全局固定标注,默认会全部渲染在画布上,要实现仅悬停对应数据点时才显示标注,最简便的实现方式如下:

修改后代码

library(plotly)

data <- mtcars[which(mtcars$am == 1 & mtcars$gear == 4),]
# 将行名存入数据集方便调用
data$car_name <- rownames(data)

fig <- plot_ly(data, x = ~wt, y = ~mpg, type = 'scatter', mode = 'markers',
        marker = list(size = 10),
        # 配置悬停时展示的文本
        text = ~car_name,
        # 自定义悬停展示格式,这里保留了x、y数值和标注文本
        hovertemplate = "车型: %{text}<br>重量: %{x} 吨/1000<br>油耗: %{y} 英里/加仑<extra></extra>")

fig

配置说明

  • 移除了原来的全局add_annotations配置,避免固定标注一直显示
  • 通过text参数传入你需要展示的车型名称标注内容
  • hovertemplate可以自定义悬停弹窗的显示内容,<extra></extra>用来隐藏默认的trace名称,你可以根据自己的需求调整格式
  • 如果你需要保留原来带箭头的标注样式,仅在悬停时触发,可以给每个annotation设置visible = FALSE属性,再通过Plotly的hover事件动态控制标注的显示状态,上述轻量方案已经可以满足绝大多数标注展示需求。

内容的提问来源于stack exchange,提问作者manu p

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 21:15:08