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

How to make multiple smoothing lines in 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()

您可以使用 dplyr::group_by 设置分组:

library(dplyr)
library(ggvis)

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