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
相关产品推荐
相关产品推荐

