我正在尝试将每个条形码的频率添加到工具提示中并且遇到问题。我试图使用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)
答案 0 :(得分: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")