2

我想创建一个绘图,其中 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()

我怎样才能color = 'white'在里面设置geom_jitter,而不创造一个无用的传说?

在此处输入图像描述

4

1 回答 1

2

您可以使用 覆盖比例图例中的特定美学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 包于 2021-05-26 创建(v1.0.0)

于 2021-05-26T09:45:45.920 回答