【问题标题】:R ggvis format tooltip using percentages使用百分比的 R ggvis 格式工具提示
【发布时间】:2017-10-04 02:44:20
【问题描述】:

我正在使用 R 中的 ggvis 包来构建一个水平堆栈栏。在工具提示中,我想同时添加绝对值和相对值(以百分比为单位)。

以下代码有效,但工具提示的格式不正确:

all_values <- function(x) {
  if(is.null(x)) return(NULL)
  #x[,sapply(x, is.double)] <- apply(x[,sapply(x, is.double)], 1, function(x) {paste(round(100*x, 2), "%", sep="")})
  paste0(names(x), ": ",format(x), collapse = "<br />")
}

df <- data.frame(a = c('a','b','c'), v1 = c(7,2,1), v2 = c(0.7,0.2,0.1))
df %>% ggvis(x = ~v1, y = ~a, fill = ~v2) %>%
          layer_rects(x2 = 0, height = band()) %>% 
          add_tooltip(all_values, "hover") %>% 
          add_tooltip(all_values, "click")

我想以在工具提示中显示百分比的方式格式化 v2。 值本身(例如 0.7)仍应用作填充。

删除 all_values 中的注释部分,让我们在由于某种原因悬停时出现视觉崩溃,即使该函数的结果对我来说是完美的。

有什么建议吗?

【问题讨论】:

    标签: r ggvis


    【解决方案1】:

    这样的?

    library(ggvis)
    all_values <- function(x) {
      if(is.null(x)) return(NULL)
      x <- paste0(x[,3]*100,"%")
      paste0(names(x), "",format(x), collapse = "<br />")
    }
    
    df <- data.frame(a = c('a','b','c'), v1 = c(7,2,1), v2 = c(0.7,0.2,0.1))
    df %>% ggvis(x = ~v1, y = ~a, fill = ~v2) %>%
      layer_rects(x2 = 0, height = band()) %>% 
      add_tooltip(all_values, "hover") %>% 
      add_tooltip(all_values, "click")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-18
      • 2017-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多