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

Is it possible to plot a cartesian coordinate system with ggvis?

主题说明了一切。只想 know/figure 了解如何使用 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

编辑: 好的,我想通了:

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

使用 属性 偏移量我可以 "offset" 轴。但它们不是固定的。如果我调整查看器的大小 window,它们当然会移动...

一个解决方案(有点 hack)是使用 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()