在ggplot2(geom_col)中更改形状图例

3

我想要改变geom_col图例的形状。默认情况下,图例是正方形的,我想改成圆形(或三角形或其他任何形状)。由于颜色由fill控制,我认为覆盖此参数应该可以解决问题:

library(ggplot2)
data("Titanic")
Titanic <- as.data.frame(Titanic)

ggplot(data = Titanic, aes(x = Class, y = Freq, fill = Survived)) + geom_col() +
   guides(fill = guide_legend(override.aes = list(shape = 16))) 

我也尝试更具体地说明

ggplot(data = Titanic, aes(x = Class, y = Freq, fill = Survived)) + geom_col() +
  scale_shape_manual(values = c("No" = 16, "Yes" = 17)) 

但是传说没有改变。有什么建议吗?
(我查看了相关问题Changing shape in legend ggplot2,但似乎也不起作用。我想这是因为没有使用geom_point?)
1个回答

3
这段文本的意思是:这个函数的文档记录得比较差,但是它有一个参数叫做“key_glyph”,可以指定要放入图例中的内容类型。如果你有条形图并且想要点状的图例,你可以覆盖默认设置。随后,你可以覆盖填充图例中的美学属性以满足你的需求。但一定要选择一个具有填充参数的形状。
library(ggplot2)
data("Titanic")
Titanic <- as.data.frame(Titanic)

ggplot(Titanic, aes(x = Class, y = Freq, fill = Survived)) + 
  geom_col(key_glyph = draw_key_point) +
  guides(fill = guide_legend(override.aes = list(shape = 21, size = 5))) 

此文档由reprex包 (v0.3.0)于2020-08-25创建


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接