如何在 geom_jitter 中为比例尺指南设置不同的填充颜色?

How to set different fill colour for scale guide in geom_jitter?

我想创建一个绘图,其中 geom_points(或抖动)在给定值之后填充,但它们的线条颜色为白色。

但是,将颜色设置为白色会使图例显示不可见的点,并且没有用。如何强制图例以正确的大小显示黑点,但实际绘图有不同的颜色和填充?

我开始工作的一个例子:

mtcars %>% 
  ggplot(aes(disp, mpg, size = cyl, fill = mpg)) +
  geom_jitter(alpha = 0.8, pch = 21) +
  scale_size_continuous(trans = 'log10') +
  scale_fill_viridis_c()

如何在 geom_jitter 中设置 color = 'white',而不创建无用的图例?

您可以使用 guide_legend(override.aes = list(...)) 覆盖比例图例中的特定美学。示例如下:

library(ggplot2)

ggplot(mtcars, aes(disp, mpg, size = cyl, fill = mpg)) +
  geom_jitter(alpha = 0.8, pch = 21, colour = "white") +
  scale_size_continuous(
    trans = 'log10',
    guide = guide_legend(override.aes = list(fill = "black"))
  ) +
  scale_fill_viridis_c()

reprex package (v1.0.0)

于 2021-05-26 创建