没有找到任何专门讨论此问题的帖子。
在下图中,我想使用一列单字符字符串作为 的形状geom_point()
。ggplot2-specs 帮助文档中说可以指定单个字符串。
我想用“4”、“6”和“8”作为点的形状(而不是圆形、三角形和正方形)。但这似乎行不通。如果行得通,我希望只显示一个图例(而不是两个)。
library(dplyr); library(ggplot2)
mtcars2 <- mtcars %>%
inner_join(data.frame(cyl=c(4,6,8),
cyl_word=c('four','six','eight')))
p <- ggplot(mtcars2, aes(mpg, wt, color=cyl_word)) + geom_line()
p + geom_point(aes(shape=factor(cyl)), size=3)
使用geom_text()
而不是geom_point()
可以得到更接近预期结果的结果。但它们缺少的是形状(“4”、“6”、“8”)没有出现在图例中(我怀疑图例中的字母“a”是 的指示符,geom_text()
并且它是不可更改的……对吗?)
p + geom_text(aes(label=factor(cyl)), size=6)
不知道我是否应该使用scale_shape_?()