调整填充已将变量映射到它的ggvis

Adjusting fill in ggvis that has mapped a variable to it

使用 ggplot 时,我可以在变量映射到它时手动调整颜色。像下面的例子:

ggplot(mtcars, aes(cyl, mpg)) +
  geom_point(aes(col = factor(cyl))) +
  scale_color_manual(values = c('red', 'green', 'blue'))

我想在 ggvis 中做同样的事情。到目前为止我找到的唯一解决方案是在数据中对颜色名称进行硬编码并通过 fill := ~variable_name 分配它。我希望有人能告诉我在下面添加什么

ggvis(mtcars, ~cyl, ~mpg, fill = ~factor(cyl)) %>%
   layer_points()

非常感谢。

您可以使用 scale_nominal 更改分类变量的填充颜色。您使用 "fill" 作为您想要控制的 属性 的名称,并通过 range.

给出您想要的颜色
ggvis(mtcars, ~cyl, ~mpg, fill = ~factor(cyl)) %>%
    layer_points() %>%
    scale_nominal("fill", range =  c('red', 'green', 'blue'))