我正在尝试在ggplot2图例中组合fill
和color
。因为x
轴有几种颜色,所以逻辑上ggplot2不知道在图例中选择哪种颜色。
例如:
library(ggplot2)
ggplot(mpg, aes(fl, hwy)) +
geom_point(aes(color = fl, shape = factor(year), fill = fl)) +
scale_shape_manual(values = c("circle filled", "circle open"))
我的目标是手动编辑factor(year)
图例,如下所示:
我在guides()
函数周围玩过,没有成功。
修改:
通过运行shape
可以找到vignette("ggplot2-specs")
的值。
答案 0 :(得分:1)
您已经用scale_shape_manual
得到了几乎正确的答案。但是以某种方式,“圆填充”参数是无效的。由于我不确定可以在哪里查找这些值,因此我从类似问题(source)的表中获取了这些值:
因此,如果值分别为20和79,则可以获得所需的结果。
ggplot(mpg, aes(fl, hwy)) +
geom_point(aes(color = fl, shape = factor(year), fill = fl)) +
scale_shape_manual(values = c(16,79))
答案 1 :(得分:0)
好,所以这是使它看起来像上图的一种非常round回的方法。也许其他人可以提出一个更直观的版本:
ggplot(mpg, aes(fl, hwy)) +
geom_point(aes(color = fl, shape = factor(year), fill = factor(year))) +
scale_shape_manual(values = c(16,79), guide = FALSE) +
scale_fill_manual("Year", values=c("grey","white"))+
guides(fill = guide_legend(override.aes = list(shape = c(21,21),
color = c("black", "black"))))