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

R 交互式x轴范围的ggvis折线图,r,ggplot2,data-visualization,ggvis,R,Ggplot2,Data Visualization,Ggvis,我希望能够 在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') %>

我希望能够

  • 在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)
    
    然而,这不起作用。我收到以下错误消息:

    “r[i1]中的错误-r[-长度(r):-(长度(r)-滞后+1L)]:二进制运算符的非数字参数”

    如果我将域参数中的minx和maxx替换为例如1和10,那么我的图形绘制得很好(但是是静态的)。有什么想法吗


    谢谢

    这可能会有帮助。由于没有可复制的数据,我决定使用CRAN手册中的一个例子。您需要做的是使用
    input\u滑块
    并为x轴选择最小值和最大值。在本例中,您有一个双端滑块。这意味着您可以同时选择/更改最小值和最大值。
    input\u滑块进入
    scale\u 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)
    
    #设置输入滑块
    富%
    ggvis(x=~wt,y=~mpg,行程=~factor(cyl))%>%
    层线()%>%
    缩放数值(“x”,域=foo,钳位=TRUE)
    
    这真的很有帮助!我们如何访问当前域值?