ggvis可以交互地更改x轴和y轴的变量吗?

有人知道是否可以与ggvis交互地更改x和y轴的变量?我可以改变数据点的大小,它们的位置和不透明度,但是如果允许用户从下拉列表中选择一个变量作为x / y轴的数据,我将无法解决。
最佳答案
ggvis包被设计成与dplyr结合使用,例如总结数据。 dplyr软件包还重新导出了magrittr管道操作符(%>%,见README.md),这使得ggvis执行The Grammar of Graphics的工作特别直观(参见这些软件包的作者,Hadley Wickham,还有this article)。

下面我将说明如何使用input_select()函数来更改模型的x并保持y不变。

首先我们需要加载两个必需的库:

library(dplyr)
library(ggvis)

现在我们可以绘制一个data.frame(我正在使用内置的预加载光圈):

iris %>% 
  ggvis(x = input_select(c('Petal.Width', 'Sepal.Length'), map = as.name)) %>% 
  layer_points(y = ~Petal.Length, fill = ~Species)

输出为:

input_select = Petal.Width

使用input_select可以更改为:

input_select = Sepal.Length

如果你不喜欢使用dplyr / magrittr,它将如下所示:

p <- ggvis(iris, x = input_select(c('Petal.Width', 'Sepal.Length'), map = as.name))
layer_points(p, y = ~Petal.Length, fill=~Species)

转载注明原文:ggvis可以交互地更改x轴和y轴的变量吗? - 代码日志