我正在尝试绘制一个沿大量维度变化的大散点图。
这是我的首发情节:
p <- ggplot(mtcars, aes(wt, mpg, shape=cyl, colour=gear, size=carb)) +
geom_point()
使用mtcars
数据集,我只是包含各种形状,颜色和大小。现在我要添加的是所有点的区别标记,碳水化合物== 8。例如,在这些点附近添加一个大黑圈。
做
p + geom_point() + geom_point(colour="black", shape=1, size=5)
很接近,因为它可以获得我想要的圆圈,但是所有的点都会得到圆圈,我想把它限制在一些点上。
我非常感谢对此问题的任何建议。
答案 0 :(得分:22)
不是最初将变量放在ggplot函数中,而是尝试为您添加的每个图层单独映射变量。
p <- ggplot(data = mtcars)+
geom_point(aes(wt, mpg, shape=as.factor(cyl), colour=gear, size=carb))+
geom_point(aes(wt[carb==8], mpg[carb==8]), colour="black", shape=1, size=7)