是否可以用ggvis绘制笛卡尔坐标系?

时间:2015-01-16 11:18:10

标签: r ggvis

主题说明了一切。只想了解/弄清楚如何用ggvis绘制交互式笛卡尔坐标系(两个轴的原点都在中心)。

这可能吗?谷歌没有帮助...... 这是一个简短的例子:

library(ggvis)
library(magrittr)

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

编辑: 好的,我想出了什么:

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

通过属性偏移,我可以“偏移”轴。但他们并没有固定。如果我调整查看器窗口的大小,他们当然会移动......

1 个答案:

答案 0 :(得分: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()