2015-10-20 12 views
10

Ich möchte meine Legende in die Handlung als answered in this question einfügen, aber für eine interaktive Handlung.Überlagerungslegende auf interaktivem ggvis-Plot

Im ersten Code-Chunk verschwindet die Legende aus der Handlung, aber wenn ich die Interaktion entferne, funktioniert es.

library(ggvis) 
library(dplyr) 

# With drop down list it doesn't work 
mtcars %>% 
    ggvis(x = ~wt, y = input_select(c("Miles per gallon" = "mpg", "Horse power" = "hp", "Displacement"="disp", "Carbohydrates" = "carb"), map = as.name, selected = "mpg", label = "Variables"), fill=~cyl) %>% 
    layer_points() %>% 
    add_relative_scales() %>% 
    add_legend("fill", title = "Cylinders", 
      properties = legend_props(
       legend = list(
       x = scaled_value("x_rel", 0.8), 
       y = scaled_value("y_rel", 1) 
       ))) 

enter image description here

# Remove interaction and it works 
mtcars %>% 
    ggvis(x = ~wt, y = ~mpg, fill = ~cyl) %>% 
    layer_points() %>% 
    add_relative_scales() %>% 
    add_legend("fill", title = "Cylinders", 
      properties = legend_props(
       legend = list(
       x = scaled_value("x_rel", 0.8), 
       y = scaled_value("y_rel", 1) 
       ))) 

enter image description here

Wie kann ich die Legende in einer interaktiven Handlung überlagern?

+1

Mit Ihrem ersten Stück Code, als ich "Horse Power" wählte, erschien die Legende. Aber es verschwand, als ich "Meilen pro Gallone" wählte. Da sich der Wert der y-Achse abhängig von der Wahl des Benutzers ändert, frage ich mich, ob es etwas mit diesem y-lim-Wechsel zu tun hat. Ich denke irgendwie, dass die Legendenposition mit dem größten y-Wert eingestellt ist. "Pferdestärke" hat mehr als 300, während "Meilen pro Gallone" nur 34 hat. Wenn man sich für letzteres entscheidet, verschwindet die Legende ... Das ist nur meine Spekulation. – jazzurro

+0

@jazzurro Interessant! Vielen Dank für Ihre Spekulation. Es scheint jedoch willkürlich jede andere Auswahl zu sein. Ich habe dem Dropdown zwei weitere Optionen hinzugefügt. Wenn Sie "Pferdestärke" wählen und dann "Verschiebung" wählen und dann "Meilen pro Gallone" wählen, erscheint es. – Tom

+0

Das scheint mir ziemlich buggy. Ich frage mich, ob dieses Problem auf GitHub abgelegt wird. Es kann sich lohnen, diesen Fall zu melden. – jazzurro

Antwort

2

Es scheint, dass dies ein offenes Problem ist. Kurze Abhilfe, die ich auf https://github.com/rstudio/ggvis/issues/347 gefunden habe:

%>% set_options(duration=0) 

bis zum Ende des Plots hinzu:

))) %>% set_options(duration=0) 

Es ist nicht die Legende nicht neu gezeichnet und daher nicht verschwindet.

Verwandte Themen