我想用Ploly打印一张交互式的绘图图表.我使用了情节清晰的"工具提示"论点.我想使用一个变量参数来定义ggploy中美学的文本参数.

代码是这样的:

library(tidyverse)
library(plotly)

df <- data.frame(ID = paste0("ID_",LETTERS[1:20]),
                 A = rnorm(20),
                 B = rnorm(20),
                 C = rnorm(20),
                 D = rnorm(20),
                 E = rnorm(20)
                 )

variable_to_tooltip <- c("C", "D")

graph <- df %>% 
  ggplot(aes(x=A, y = B,
             text = paste("ID", ID,
                          "<br>C", C,
                          "<br>D", D)))+
  geom_point()

ggplotly(graph, tooltip = "text")

图形是可以的,但我想使用"Variable_to_TOOLTIP"来定义文本参数,因为图形将包含在循环中,并且会有所不同.

我确实try 过使用get()和!!sym()函数,但并不真正了解sym()是如何工作的,也不知道它是否对解决这个问题有用.

如果有人能帮上忙,非常感谢! 弗洛伦特

推荐答案

一种 Select 是使用tidyr::unite创建工具提示,并将其作为列添加到ggplot之外的数据框中:

library(tidyverse)
library(plotly)

set.seed(123)

df <- data.frame(
  ID = paste0("ID_", LETTERS[1:20]),
  A = rnorm(20),
  B = rnorm(20),
  C = rnorm(20),
  D = rnorm(20),
  E = rnorm(20)
)

variable_to_tooltip <- c("C", "D")

df <- df |> 
  unite(col = tooltip, all_of(c("ID", variable_to_tooltip)), sep = "<br>")

graph <- df %>%
  ggplot(aes(
    x = A, y = B,
    text = tooltip
  )) +
  geom_point()

ggplotly(graph, tooltip = "text")

enter image description here

R相关问答推荐

如果R上的不同时期之间的值发生了变化,则创建假人

R:将列名的字符载体传递给可以 Select 接受多个参数的函数

如何生成包含可能条目列表而不是计数的表?

如何在热图中绘制一个图形,但在每个单元格中通过饼形图显示?

使用Shiny组合和显示复制和粘贴的数据

多个ggpredicate对象的平均值

如何在RMarkdown LaTex PDF输出中包含英语和阿拉伯语?

如何直接从R中的风险分数计算c指数?

标识R中多个列中缺少的唯一值

我正在努力用R计算数据集中的中值逐步距离

从多个可选列中选取一个值到一个新列中

有没有办法一次粘贴所有列

解析嵌套程度极高的地理数据

如何筛选截止年份之前最后一个测量年度的所有观测值以及截止年份之后所有年份的所有观测值

R基于变量组合创建新的指标列

如何构建一个for循环来循环处理动物ID?

在ggploy中创建GeV分布时出错

通过R:文件名未正确写入[已解决]将.nc文件转换和导出为.tif文件

使用geom_sf跨越日期线时的闭合边界

按镜像列值自定义行顺序