2015-01-16 2 views
1

Тема говорит все. Просто хочу узнать/выяснить, как я могу построить интерактивную декартовую систему координат (происхождение обеих осей находится в центре) с помощью ggvis.Можно ли построить декартовую систему координат с ggvis?

Возможно ли это? Google не помогло ... Вот краткий пример:

library(ggvis) 
library(magrittr) 

x = -5:5 
y = -5:5 
data = data.frame("x"=x,"y"=y) 
plot = data %>% ggvis(~x,~y) 
plot 

EDIT: Хорошо, я понял что-то:

plot = data %>% ggvis(~x,~y) %>% add_axis("x",offset=-250, grid=NA) %>% add_axis("y",offset=-250,grid=NA) 

С помощью свойства смещения можно "смещение" оси. Но они не исправлены. Если изменить размер окна просмотра, они двигаются конечно ...

ответ

0

Одно из решений (немного хака), чтобы рисовать линии, используя layer_paths()

data_line <- data.frame(
    x_rng = c(-5, 5), 
    y_rng = c(0, 0) 
) 

data_line2 <- data.frame(
    x_rng = c(0, 0), 
    y_rng = c(-5, 5) 
) 

data %>% ggvis(~x, ~y) %>% 
    layer_paths(
    x = ~x_rng, 
    y = ~y_rng, 
    stroke := "black", 
    data = data_line 
) %>% 
    layer_paths(
    x = ~x_rng, 
    y = ~y_rng, 
    stroke := "black", 
    data = data_line2 
) %>% 
    layer_points() 
Смежные вопросы