我用以下代码绘制了一个2 geom_point图:
source("http://www.openintro.org/stat/data/arbuthnot.R")
library(ggplot2)
ggplot() +
geom_point(aes(x = year,y = boys),data=arbuthnot,colour = '#3399ff') +
geom_point(aes(x = year,y = girls),data=arbuthnot,shape = 17,colour = '#ff00ff') +
xlab(label = 'Year') +
ylab(label = 'Rate')
我只是想知道如何在右侧添加图例。具有相同的形状和颜色。三角形粉红色应具有图例“女人”,蓝色圆圈应具有图例“男人”。看起来很简单,但经过多次试用后我还是做不到。 (我是ggplot的初学者)。
最佳答案
如果重命名原始数据框的列,然后使用reshape2::melt
将其融合为长格式,则在ggplot2中处理起来会容易得多。通过在ggplot命令中指定color
和shape
外观,并手动指定颜色和形状的比例,将显示图例。
source("http://www.openintro.org/stat/data/arbuthnot.R")
library(ggplot2)
library(reshape2)
names(arbuthnot) <- c("Year", "Men", "Women")
arbuthnot.melt <- melt(arbuthnot, id.vars = 'Year', variable.name = 'Sex',
value.name = 'Rate')
ggplot(arbuthnot.melt, aes(x = Year, y = Rate, shape = Sex, color = Sex))+
geom_point() + scale_color_manual(values = c("Women" = '#ff00ff','Men' = '#3399ff')) +
scale_shape_manual(values = c('Women' = 17, 'Men' = 16))
关于r - 两个geom_points添加图例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17713919/