带有工具提示的 ggvis 不适用于 layer_smooths
ggvis with tooltip not working with layer_smooths
此代码按预期工作:
all_values <- function(x) {
if(is.null(x)) return(NULL)
row <- mtc[mtc$id == x$id, ]
paste0(names(row), ": ", format(row), collapse = "<br />")
}
mtc %>% ggvis(x = ~wt, y = ~mpg, key := ~id) %>%
layer_points() %>%
add_tooltip(all_values, "hover")
但是当我添加 layer_smooths(stroke := "red", se = T)
时,代码给我一个错误:
mtc %>% ggvis(x = ~wt, y = ~mpg, key := ~id) %>%
layer_points() %>%
layer_smooths(stroke := "red", se = T) %>%
add_tooltip(all_values, "hover")
Error in eval(expr, envir, enclos) : object 'id' not found
为什么?我该如何解决?
谢谢!
如果我没有认出这是 ggvis 帮助页面之一的示例,我就不知道 mtc 是从哪里来的。问题似乎是你在 ggvis() 语句中设置了键 属性 ,但是 layer_smooths() 显然不支持它,所以你需要将它移动到 layer_points( ).我使用以下代码将可视化设置为 运行:
library(ggvis)
mtc <- mtcars
mtc$id <- seq_len(nrow(mtc))
all_values <- function(x)
{
if(is.null(x)) return(NULL)
row <- mtc[mtc$id == x$id, ]
paste0(names(row), ": ", format(row), collapse = "<br />")
}
mtc %>% ggvis(x = ~wt, y = ~mpg) %>%
layer_smooths(stroke := "red", se = T) %>%
layer_points(key := ~id) %>%
add_tooltip(all_values, "hover")
但是,当您将鼠标悬停在平滑带或置信带上时,与变量关联的所有值都会在工具提示中标记为 'character(0)'。
此代码按预期工作:
all_values <- function(x) {
if(is.null(x)) return(NULL)
row <- mtc[mtc$id == x$id, ]
paste0(names(row), ": ", format(row), collapse = "<br />")
}
mtc %>% ggvis(x = ~wt, y = ~mpg, key := ~id) %>%
layer_points() %>%
add_tooltip(all_values, "hover")
但是当我添加 layer_smooths(stroke := "red", se = T)
时,代码给我一个错误:
mtc %>% ggvis(x = ~wt, y = ~mpg, key := ~id) %>%
layer_points() %>%
layer_smooths(stroke := "red", se = T) %>%
add_tooltip(all_values, "hover")
Error in eval(expr, envir, enclos) : object 'id' not found
为什么?我该如何解决?
谢谢!
如果我没有认出这是 ggvis 帮助页面之一的示例,我就不知道 mtc 是从哪里来的。问题似乎是你在 ggvis() 语句中设置了键 属性 ,但是 layer_smooths() 显然不支持它,所以你需要将它移动到 layer_points( ).我使用以下代码将可视化设置为 运行:
library(ggvis)
mtc <- mtcars
mtc$id <- seq_len(nrow(mtc))
all_values <- function(x)
{
if(is.null(x)) return(NULL)
row <- mtc[mtc$id == x$id, ]
paste0(names(row), ": ", format(row), collapse = "<br />")
}
mtc %>% ggvis(x = ~wt, y = ~mpg) %>%
layer_smooths(stroke := "red", se = T) %>%
layer_points(key := ~id) %>%
add_tooltip(all_values, "hover")
但是,当您将鼠标悬停在平滑带或置信带上时,与变量关联的所有值都会在工具提示中标记为 'character(0)'。