【问题标题】:ggvis line chart with interactive x axis range具有交互式 x 轴范围的 ggvis 折线图
【发布时间】:2014-12-27 23:27:29
【问题描述】:

我希望能够

  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)

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

“r[i1] 中的错误 - r[-length(r):-(length(r) - lag + 1L)] : 二元运算符的非数字参数”。

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

谢谢!

【问题讨论】:

    标签: r ggplot2 data-visualization ggvis


    【解决方案1】:

    这可能会有所帮助。由于没有可重复的数据,我决定使用 CRAN 手册中的示例。您需要做的是使用input_slider 并为x 轴选择最小值和最大值。在此示例中,您有一个双端滑块。这意味着您可以同时选择/更改最小值和最大值。 input_slider 进入scale_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)
    

    【讨论】:

    • 这真的很有帮助!我们如何访问当前的域值?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-10
    • 1970-01-01
    相关资源
    最近更新 更多