【问题标题】:aggregating functions in ggvis add_tooltipggvis add_tooltip 中的聚合函数
【发布时间】:2014-06-27 18:14:48
【问题描述】:

我正在尝试将每个条的频率添加到工具提示中,但遇到了问题。我尝试使用 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)

【问题讨论】:

    标签: r ggvis


    【解决方案1】:

    要快速启用所有值的工具提示,您可以创建一个函数 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")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-07
      • 2021-12-31
      • 2011-04-08
      • 2018-05-15
      相关资源
      最近更新 更多