2016-06-12 20 views
1

I folgend ein Sankey-Diagramm plotten verwaltet, spalte1 enthält die idsAnpassen googleVis Sankey-Diagramme in R angepasste Werkzeugspitze hinzuzufügen

set.seed(1000) 
df <- data.frame(col1= sample(c(1:15), 15, replace = F), 
col2=sample(c("aa", "bb","cc"), 15, replace=TRUE), 
col3=sample(c('a','b','c','d'), 15, replace=TRUE, prob=c(0.25, 0.25, 0.20, 0.30))) 

grp<-df %>% 
group_by(col2, col3) %>% 
summarise(n=n()) 
View(grp) 

enter image description here

Sankeyy <- gvisSankey(grp, from="col2", to="col3", weight="n", 
        options=list(
        sankey="{link: {color: { fill: '#d799ae' } }, 
        node: { color: { fill: '#a61d4c' }, 
        label: { color: '#871b47' } }}")) 
plot(Sankeyy) 

enter image description here

Die folgende hilft bei der Verfolgung der zu jeder Gruppe gehörenden IDs

grp<-df %>% 
group_by(col2, col3) %>% 
summarise(n=n(), rows=paste(sort(col1), collapse = ", ")) 
View(grp) 

enter image description here

Sankeyy <- gvisSankey(grp, from="col2", to="col3", weight="n", 
        options=list(
        sankey="{link: {color: { fill: '#d799ae' } }, 
        node: { color: { fill: '#a61d4c' }, 
        label: { color: '#871b47' } }}")) 
plot(Sankeyy) 

Aber ich folgende Fehlermeldung erhalten.

enter image description here

Was ist der richtige Weg die IDs enthalten in dem Sankey-Diagramm Tooltip zu jeder Gruppe gehören,?

Antwort

0

Damit ein Tooltip für das Tool "sankey" funktionieren kann, muss die Spalte, die Sie als QuickInfo verwenden, something.tooltip heißen. Die Daten müssen auch vom Typ "Zeichen" sein (obwohl Sie damit kein Problem haben.)

Wenn ich Ihren Spaltennamen ändern, um dem .tooltip Format zu folgen, funktioniert alles gut.

grp<-df %>% 
group_by(col2, col3) %>% 
summarise(n=n(), rows.tooltip=paste(sort(col1), collapse = ", ")) 

Sankey chart with custom tooltip

Randbemerkung: es scheint, dass für andere GVIS Diagrammtypen, der Name Ihres Tooltip Spalte den Namen der Datenspalte ist gemeint, umfassen muss als Tooltip dienen: https://cran.r-project.org/web/packages/googleVis/vignettes/Using_Roles_via_googleVis.html

Ich habe nicht damit herum gespielt, also kann ich die Besonderheiten nicht kommentieren. Nichtsdestotrotz, für sankey Charts ist das obige alles was Sie brauchen.