如何在ggvis中制作多条平滑线?

时间:2016-10-21 22:34:44

标签: r ggvis

这是生成更平滑

的折线图的代码
mtcars %>% 
    ggvis(~wt, ~mpg) %>%
    layer_lines() %>%
    layer_smooths()

这可以通过vs来计算,并绘制两行不同的颜色:

mtcars %>% 
    ggvis(~wt, ~mpg, stroke= ~ as.factor(vs)) %>%
    layer_lines()

但我如何添加两种不同的平滑器呢?我正在尝试这个,但不明白为什么它不起作用

mtcars %>% 
    ggvis(~wt, ~mpg, stroke= ~ as.factor(vs)) %>%
    layer_lines() %>%
    layer_smooths()

1 个答案:

答案 0 :(得分:0)

您可以使用dplyr::group_by

设置分组
library(dplyr)
library(ggvis)

mtcars %>% 
    mutate(vs = factor(vs)) %>%
    ggvis(~wt, ~mpg, stroke = ~vs) %>%
    group_by(vs) %>% 
    layer_lines() %>%
    layer_smooths()

plot with two smooths