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

R语言Plotly悬浮标签传入变量问题:如何正确显示class字段

解决Plotly悬停标签无法正确显示class字段的问题

问题出在你用了%{color:,.0f}作为class的占位符——%{color}调用的是颜色的数值/代码,不是class字段的文本内容,所以没法正确展示A/B这类取值。下面是两种可行的解决方法:

方法1:用customdata传递class字段

在plot_ly里添加customdata = ~class,然后在hovertemplate里用%{customdata}调用:

library(plotly)
plot_ly(data = mydat2,
        x = ~score,
        y = ~count,
        color = ~class,
        hoverinfo = 'text',
        text = ~subject,
        customdata = ~class, # 传递class字段
        hovertemplate = paste(
          "<b>%{text}</b><br><br>",
          "%{yaxis.title.text}: %{y:,.0f}<br>",
          "%{xaxis.title.text}: %{x:,.0f}<br>",
          "Class: %{customdata}", # 调用customdata里的class值
          "<extra></extra>"
        ))

方法2:把class整合到text变量中

直接在text里包含class信息,然后在模板里对应调用:

library(plotly)
plot_ly(data = mydat2,
        x = ~score,
        y = ~count,
        color = ~class,
        hoverinfo = 'text',
        text = ~paste0("Subject: ", subject, "<br>Class: ", class), # 整合class到text
        hovertemplate = paste(
          "%{text}<br><br>",
          "%{yaxis.title.text}: %{y:,.0f}<br>",
          "%{xaxis.title.text}: %{x:,.0f}",
          "<extra></extra>"
        ))

两种方法都能让悬停标签正确显示class的实际取值,你可以根据需求选择。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 19:20:47