我定义了一个函数,它接收一个数据框并返回一个绘图,之后我将其传递给plotly
。我需要这个函数具有灵活性,并且会被多次调用(这就是为什么我编写了一个函数)。下面是一个简单可重复的示例:
a <- data.frame(x = 1:3, y = c(2, 6, 3))
library(ggplot2)
library(plotly)
plotTrend <- function(x){
var1 <- names(x)[1]
var2 <- names(x)[2]
p <- ggplot(a, aes(x = get(var1), y = get(var2)))+
geom_point()+
geom_smooth(method = "lm")
return(p)
}
当然,我可以在
a
上调用 plotTrend
并获得所期望的图形。但是当我在其上调用 ggplotly
时,提示信息会显示一个丑陋的 get(var1)
而不是列名(例如此示例中的 "x")。plotTrend(a)
ggplotly()
我知道我可以在函数内部为数据框创建一个文字列,然后调用
ggplotly(tooltip = "text")
(我在 Stack Overflow 上阅读了很多相关问题),但我想知道是否有另一种方法可以通过修改函数或使用 ggplotly
中的某些特殊参数来获得正确的工具提示名称。我的期望输出是:
- 一个 Plotly 图形
- 工具提示能够准确读取数值,并且名称为 "x" 和 "y"