R - 更改 ggplot2 中的形状图例 (geom_col)
R - change shape legend in ggplot2 (geom_col)
我正在尝试更改 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
?)
这方面的文档很少,但是层函数的一个参数是 key_glyph
参数,它可以指定将哪种内容放入图例中。如果您有条形图并想要 point-like 个图例,您可以覆盖默认值。随后,您可以覆盖填充图例中的美学以满足您的需要。不过一定要选择具有填充参数的形状。
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 创建
我正在尝试更改 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
?)
这方面的文档很少,但是层函数的一个参数是 key_glyph
参数,它可以指定将哪种内容放入图例中。如果您有条形图并想要 point-like 个图例,您可以覆盖默认值。随后,您可以覆盖填充图例中的美学以满足您的需要。不过一定要选择具有填充参数的形状。
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 创建