R:向交互式绘图添加“工具提示”(绘图)

Posted

技术标签:

【中文标题】R:向交互式绘图添加“工具提示”(绘图)【英文标题】:R: Adding a "tool tip" to interactive plot (plotly) 【发布时间】:2021-09-15 10:17:00 【问题描述】:

我正在使用 R 编程语言。从之前的帖子 (R: Plot not Fully Loading) 中,我学会了如何在 R 中使用 plotly 制作交互式绘图:

library(plotly)

iris %>% plot_ly(type = 'parcoords', line = list(color = ~as.integer(Species), 
         colorscale = list(c(0,'red'),c(0.5,'green'),c(1,'blue'))), 
         dimensions = list( list(range = c(2,4.5), label = 'Sepal Width', values = ~Sepal.Width), 
                      list(range = c(4,8), constraintrange = c(5,6), label = 'Sepal Length', values = ~Sepal.Length), 
                      list(range = c(0,2.5), label = 'Petal Width', values = ~Petal.Width), 
                      list(range = c(1,7), label = 'Petal Length', values = ~Petal.Length) ) )  

假设我要在数据集中添加一个“id”列,例如

library(dplyr)
df <- iris %>% mutate(id = row_number())

是否有可能,当您“单击”此图上的任何“线”时,会出现与该行对应的数据集(即“df”)信息?

谢谢

【问题讨论】:

这个github issue看起来可能和这个有关。 @Ben:你知道如何调整这段代码以解决我正在处理的问题吗? 你可以参考这个plotly.com/ggplot2/interactive-tooltip也许它可以帮助你:) 【参考方案1】:

没有运行您的代码,但您可能需要事先将所有文本准备为列中的一个字符串,并使用 text = ~tooltip_column 显示它。 它可能与 \n 一起用于行拆分

  fig <- plot_ly(
    type = 'scatter3D',
    x = -calcDataMeas2$pos_X,
    y = calcDataMeas2$pos_Y,
    z = z_value,
    text = calcDataMeas2$tube_name,
    scene = 'scene1',
    mode = 'markers',
    marker = marker
  )

【讨论】:

以上是关于R:向交互式绘图添加“工具提示”(绘图)的主要内容,如果未能解决你的问题,请参考以下文章

R中的交互式绘图

使用和不使用 ggplot 的交互式 R Shiny 绘图

R语言动态交互绘图|plotly包-交互式柱形图

如何在R / Shiny中将相机方向固定在交互式3D绘图中

R语言与医学统计图形-31动态交互绘图

R和Shiny:当悬停在Shiny上的绘图上时显示ggplot2数据值