ggvis交互式x轴范围的折线图

5

我希望你能够:

  1. 在ggvis中绘制折线图
  2. 添加两个交互式控件,允许我设置图表上x轴的最小和最大值

这听起来很简单 - 我的代码如下:

minx = minx = input_numeric(1, 'Min x-val')
maxx = input_numeric(1, 'Max x-val')

data.frame(train.dt) %>% 
ggvis(x = ~plot_idx, y = ~val) %>%
layer_lines() %>% add_axis('x') %>%
scale_numeric('x', domain = c(minx, maxx), clamp = T)

然而,这不起作用。我收到了以下错误消息:
“Error in r[i1] - r[-length(r):-(length(r) - lag + 1L)] : 二进制运算符的非数字参数”。
如果我在域参数中替换minx和maxx为例如1和10,我的图形绘制正常(但是静态的)。有任何想法吗?
谢谢!
1个回答

8

这可能会有所帮助。由于没有可重复数据,我决定使用CRAN手册中的示例。您需要做的是使用input_slider并选择x轴的最小值和最大值。在这个例子中,您有一个双向滑块。这意味着您可以同时选择/更改最小值和最大值。input_slider放入scale_numeric 中的domain中。

# Set up input_slider
foo <- input_slider(1, 10, c(1, 6))

mtcars %>%
ggvis(x = ~wt, y = ~mpg, stroke = ~factor(cyl)) %>%
layer_lines() %>%
scale_numeric("x", domain = foo, clamp = TRUE)

这真的很有帮助!我们如何访问当前域值? - Matias Andina

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接