2014-12-27 15 views
5

mi piacerebbe essere in grado diggvis grafico lineare con l'asse x interattive gamma

  1. Plot un grafico a linee in ggvis
  2. Aggiungere due controlli interattivi, che mi permettono di impostare i valori x min e max sul grafico

Ciò suona abbastanza semplice - il mio codice è:

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) 

Tuttavia, questo non funziona Ottengo questo messaggio di errore:

"Errore nel r [i1] - r [-LUNGHEZZA (r) di lunghezza :-((r) - lag + 1L)]: argomento non numerico per operatore binario".

Se sostituisco minx e maxx nell'argomento dominio con ad es. 1 e 10, il grafico traccia bene (ma è statico). Qualche idea?

Grazie!

risposta

8

Potrebbe essere utile. Poiché non ci sono dati riproducibili, ho deciso di utilizzare un esempio dal manuale di CRAN. Quello che dovresti fare è usare input_slider e scegliere min e max per l'asse x. In questo esempio, hai un cursore a doppio attacco. Ciò significa che puoi scegliere/modificare min e max entrambi. Lo input_slider entra nel dominio 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)