ggplot2用于绘制数据点组和连接每个组的均值的线组的示例,使用相同的aesfor shape和for 映射linetype:
p <- ggplot(mtcars, aes(gear, mpg, shape = factor(cyl), linetype = factor(cyl))) +
geom_point(size = 2) +
stat_summary(fun.y = mean, geom = "line", size = 1) +
scale_shape_manual(values = c(1, 4, 19))
Run Code Online (Sandbox Code Playgroud)
问题是,相对于线符号,图例中的点符号看起来有点太小而无法看到:

尝试在图例中放大点大小也会扩大线宽,因此在这里没有用.
p1 <- p + guides(shape = guide_legend(override.aes = list(size = 4)))
Run Code Online (Sandbox Code Playgroud)

如果线宽是一种独特的美学,那将是很好的size.我尝试添加
+ guides(linetype = guide_legend(override.aes = list(size = 1)))
Run Code Online (Sandbox Code Playgroud)
这只是一个警告.
> Warning message:
In guide_merge.legend(init, x[[i]]) : Duplicated override.aes is ignored.
Run Code Online (Sandbox Code Playgroud)
这似乎没有什么区别或者,如果我移动 …