我希望能够

  • 在ggvis中绘制折线图
  • 添加两个交互式控件,这些控件使我可以在图表
  • 上设置最小值和最大值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)
    

    但是,这不起作用。我收到此错误消息:



    如果我将domain参数中的minx和maxx替换为例如如图1和10所示,我的图形绘制得很好(但是是静态的)。有任何想法吗?

    谢谢!

    最佳答案

    这可能会有所帮助。由于没有可复制的数据,我决定使用CRAN手册中的示例。您需要做的是使用input_slider并为x轴选择min和max。在此示例中,您有一个双头滑块。这意味着您可以选择/更改最小和最大两者。 input_sliderscale_numeric中进入域。

    # 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)
    

    10-07 15:29