在下图中,我希望图例显示变量“颜色”的填充颜色。我还希望图中的所有点都有黑色轮廓。似乎我可以做其中之一,但不能同时做两者(即图例有颜色,点有黑色轮廓)。我选择了有黑色轮廓的形状,如“剪切”图例中所示。
类似的问题:
点周围保留黑色轮廓,但图例全是黑色
library(tidyverse)
diamonds %>%
slice(1:20) %>%
ggplot(aes(x = x,
y = y,
shape = cut,
fill = color)) +
geom_point(size = 3,
alpha = 0.8) +
scale_shape_manual(values = c('Ideal' = 21,
'Premium' = 22,
'Good' = 23,
'Very Good' = 24,
'Fair' = 25)) +
scale_fill_manual(values = c('E' = '#ca0020',
'F' = '#f4a582',
'H' = '#ffffbf',
'I' = '#92c5de',
'J' = '#0571b0')) +
theme_bw()
删除点周围的黑色轮廓,但图例全是彩色
diamonds %>%
slice(1:20) %>%
ggplot(aes(x = x,
y = y,
shape = cut,
fill = color,
color = color)) +
geom_point(size = 3,
alpha = 0.8) +
scale_shape_manual(values = c('Ideal' = 21,
'Premium' = 22,
'Good' = 23,
'Very Good' = 24,
'Fair' = 25)) +
scale_fill_manual(values = c('E' = '#ca0020',
'F' = '#f4a582',
'H' = '#ffffbf',
'I' = '#92c5de',
'J' = '#0571b0')) +
scale_color_manual(values = c('E' = '#ca0020',
'F' = '#f4a582',
'H' = '#ffffbf',
'I' = '#92c5de',
'J' = '#0571b0')) +
theme_bw()
编辑:我知道我可以添加第二组稍微大一点的点来获得解决方法,但这太草率了
diamonds %>%
slice(1:20) %>%
ggplot(aes(x = x,
y = y,
shape = cut,
fill = color,
color = color)) +
geom_point(size = 3.5,
alpha = 0.5,
color = 'black') +
geom_point(size = 3,
alpha = 0.8) +
scale_shape_manual(values = c('Ideal' = 21,
'Premium' = 22,
'Good' = 23,
'Very Good' = 24,
'Fair' = 25)) +
scale_fill_manual(values = c('E' = '#ca0020',
'F' = '#f4a582',
'H' = '#ffffbf',
'I' = '#92c5de',
'J' = '#0571b0')) +
scale_color_manual(values = c('E' = '#ca0020',
'F' = '#f4a582',
'H' = '#ffffbf',
'I' = '#92c5de',
'J' = '#0571b0')) +
theme_bw()
创建于 2024-11-13,使用reprex v2.1.1
您只需要覆盖填充图例中点的形状美感:
您可以覆盖填充的美观性以获得您想要的结果: