2014-12-27 8 views
5

Ich möchte in der Lage sein zuggvis Liniendiagramm mit interaktiven x Achsenbereich

  1. Plot ein Liniendiagramm in ggvis
  2. zwei interaktive Steuerelemente hinzufügen, die mir erlauben, die min und max x Werte zu setzen auf der Karte klingt

diese ziemlich einfach - mein Code:

minx = minx = input_numeric(1, 'Min x-val') 
maxx = input_numeric(1, 'Max x-val') 

data.frame(train.dt) %>% 
ggvis(x = ~plot_idx, y = ~val) %>% 
layer_lines() %>% add_axis('x') %>% 
scale_numeric('x', domain = c(minx, maxx), clamp = T) 

jedoch diese funktioniert nicht. Ich bekomme folgende Fehlermeldung:

"Fehler in r [i1] - r [-Länge (r) :-(length (r) - lag + 1L)]: nicht numerisches Argument zum binären Operator".

Wenn ich Minx und Maxx in der Domäne Argument mit z. 1 und 10, mein Diagramm zeichnet sich gut aus (ist aber statisch). Irgendwelche Ideen?

Danke!

Antwort

8

Dies kann hilfreich sein. Da keine reproduzierbaren Daten vorliegen, habe ich mich für ein Beispiel aus dem CRAN-Handbuch entschieden. Was Sie tun müssten, ist input_slider zu verwenden und min und max für die x-Achse zu wählen. In diesem Beispiel haben Sie einen doppelseitigen Schieberegler. Das heißt, Sie können min und max beide auswählen/ändern. Die input_slider geht in Domäne in scale_numeric.

# Set up input_slider 
foo <- input_slider(1, 10, c(1, 6)) 

mtcars %>% 
ggvis(x = ~wt, y = ~mpg, stroke = ~factor(cyl)) %>% 
layer_lines() %>% 
scale_numeric("x", domain = foo, clamp = TRUE)