2017-05-05 8 views
0

R의 ggvis 패키지를 사용하여 가로 스택 막대를 빌드합니다. 툴팁에서 절대 값과 상대 값을 백분율로 더하고 싶습니다.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에서 주석 처리 된 부분을 제거하면 함수의 결과가 나에게 완벽 할지라도 어떤 이유로 호버링 할 때 시각 장애가 발생합니다.

제안 사항?

답변

0

이와 비슷한?

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") 

enter image description here