2014-12-27 14 views
5

Chciałbym mócggvis wykres liniowy z interaktywnymi osi x Zakres

  1. Sporządzić wykres liniowy w ggvis
  2. Dodaj dwa interaktywne elementy sterujące, które pozwalają mi ustawić minimalne i maksymalne wartości x na wykresie

brzmi to dość proste - mój kod jest:

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) 

to jednak nie działa. Pojawia się ten komunikat o błędzie:

"Błąd w r [i1] - r [-length (r) :-(length (r) - lag + 1L)]: nieliczbowy argument operatora binarnego".

Jeśli zamieniam minx i maxx w argumencie domeny na np. 1 i 10, moje wykresy są w porządku (ale są statyczne). Jakieś pomysły?

Dzięki!

Odpowiedz

8

Może to być pomocne. Ponieważ nie ma powtarzalnych danych, postanowiłem skorzystać z przykładu z podręcznika CRAN. To, co musisz zrobić, to użyć input_slider i wybrać min i maksimum dla osi X. W tym przykładzie masz suwak z podwójnym końcem. Oznacza to, że możesz wybrać/zmienić zarówno min, jak i max. input_slider przechodzi do domeny 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)