1

我正在尝试将每个条的频率添加到工具提示中,但遇到了问题。我尝试使用 group_by 失败。工具提示为每个条的每个工具提示返回 4。

mtcars %>%
  ggvis(x = ~cyl) %>%
  layer_histograms(fill="sky blue"
                   , fillOpacity:=.7
                   , fillOpacity.hover:=.9) %>%
  group_by(cyl) %>%
  add_tooltip(function(x) length(x))

这种方法有同样的问题。它为每个条返回一个 4 ...

Freq <- function(x) {
  paste0("Frequency: ", length(x))
}

mtcars %>%
  ggvis(x = ~cyl) %>%
  layer_histograms(fill="sky blue"
                   , fillOpacity:=.7
                   , fillOpacity.hover:=.9) %>%
  group_by(cyl) %>%
  add_tooltip(Freq)
4

1 回答 1

4

要快速启用具有所有值的工具提示,您可以创建一个函数all_values并添加它们。

all_values <- function(x) {
  if(is.null(x)) return(NULL)
  paste0(names(x), ": ", format(x), collapse = "<br />")
}
mtcars %>% group_by(cyl) %>%
  ggvis(x = ~cyl) %>%
  layer_histograms(fill="sky blue"
                   , fillOpacity:=.7
                   , fillOpacity.hover:=.9) %>%
  add_tooltip(all_values, "hover")

您可以使用该信息拼凑出您真正想要显示的功能。在这种情况下,只是堆积条形图的上限值。

mtcars %>% group_by(cyl) %>%
  ggvis(x = ~cyl) %>%
  layer_histograms(fill="sky blue"
                   , fillOpacity:=.7
                   , fillOpacity.hover:=.9) %>%
  add_tooltip(function(df) (df$stack_upr_),"hover")
于 2014-06-28T20:47:45.057 回答