2016-11-02 6 views
0

Ich habe ein kleines Problem über GGVIS in R Studio.Tooltip in ggvis (R und glänzend)

Ich möchte etwas grafisch darstellen und mehr Informationen zu jedem Punkt haben, wenn ich den Cursor darauf bewege. Daher verwende ich das GGVIS-Paket und die Funktion add_tooltip().

Allerdings, wenn ich den Code unten ausführen, erhalte ich das Diagramm, aber nicht die zusätzlichen Informationen, wenn ich den Cursor auf die Punkte bewege.

Außerdem möchte ich die separate Funktion (tooltip_test) verwenden, weil mein realer Code ein bisschen komplexer ist und die Funktion mir sehr helfen würde.

library(ggvis)  
test <- data.frame(ID=1:10, TIME=1:10, COUNTS=rep(1:2,5), EXTRA=c("A", "B", "C", "D", "E", "F", "G", "H", "I", "J")) 
    tooltip_test <- function(x) { 
     if (is.null(x)) return(NULL) 
     if(is.null(x$ID)) return(NULL) 

     sub_test = test[test$ID == x$ID, ] 
     paste0("Category: ", sub_test$EXTRA) 
    } 

    test %>% 
     ggvis(x= ~TIME, y= ~COUNTS) %>% 
     layer_points() %>% 
     add_tooltip(tooltip_test, "hover") 
+0

Sie haben vergessen, den 'key' Argument' ggvis' zu benutzen, um Ihre "ID" Variable zu definieren (Siehe das letzte Beispiel in der 'add_tooltip'-Dokumentation). – aosmith

Antwort

0
library(ggvis)  
    test <- data.frame(ID=1:10, TIME=1:10, COUNTS=rep(1:2,5), EXTRA=c("A", "B", "C", "D", "E", "F", "G", "H", "I", "J")) 
    tooltip_test <- function(x) { 
     if (is.null(x)) return(NULL) 
    paste0('Category: ', test$EXTRA[x$ID]) 
    } 

test %>% 
    ggvis(x= ~TIME, y= ~COUNTS, key := ~ID) %>% 
    layer_points() %>% 
    add_tooltip(tooltip_test, "hover") 

dies für Sie ausreichend sein sollte, u vergessen ID als Schlüssel in ggvis Implementierung hinzuzufügen