问题描述
我正在尝试更改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,fill = Survived)) + geom_col() +
scale_shape_manual(values = c("No" = 16,"Yes" = 17))
但传说并没有改变。有什么建议吗?
(我确实看过相关问题Capture of the html inspector,但似乎也不起作用。我想是因为没有使用geom_point
吗?)
解决方法
这是一个文献不多的文件,但是图层功能的一个参数是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 package(v0.3.0)于2020-08-25创建