是否可以用 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()
主题说明了一切。只想 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()