使用百分比的 R ggvis 格式工具提示
R ggvis format tooltip using percentages
我正在使用 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 中的注释部分让我们在悬停时由于某种原因视觉崩溃,即使该功能的结果对我来说是完美的。
有什么建议吗?
是这样的吗?
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")
我正在使用 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 中的注释部分让我们在悬停时由于某种原因视觉崩溃,即使该功能的结果对我来说是完美的。
有什么建议吗?
是这样的吗?
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")