[英]R ggplot: Plot variables in 3 categories
我正在使用R中的CO2数据集,我想以x和y值绘制吸收量和浓度,分别按形状和填充分类,分别指定为处理和植物。 另外,我想使用geom_polygon Type类别进一步对绘图空间进行分类。
我可以分别执行填充和形状以及geom_polygon,但是找不到在单个绘图中将所有这些参数组合在一起的方法。 到目前为止,我唯一能够做到这一点的方法就是使用批注(rect)创建一个表示Type的框。 这是我的代码以重现这些图。
library(ggplot2)
library(plyr)
data.set <- as.data.frame(CO2)
####1st plot
ggplot(data.set, aes(x=as.numeric(uptake),
y=as.numeric(conc),
fill=Plant,
shape=Treatment))+
geom_point(size=2, stroke=1)+
geom_point(aes(color=Plant),size=1)+
scale_shape_manual(values = c(21, 22))
find_hull <- function(df) df[chull(df$uptake, df$conc), ]
hulls <- ddply(data.set, "Type", find_hull)
####2nd plot
ggplot(data = data.set, aes(x=as.numeric(uptake),
y=as.numeric(conc),
fill=Type,
colour=Type))+
geom_point() +
geom_polygon(data = hulls, alpha = 0.5)
您只需要将形状和颜色美感从ggplot移至特定的geom层即可:
ggplot(data.set, aes(x=as.numeric(uptake), y=as.numeric(conc))) +
geom_polygon(data = hulls, alpha = 0.5, aes(fill = Type)) +
geom_point(size = 2, stroke = 1, aes(shape = Treatment)) +
geom_point(aes(color = Plant,shape = Treatment), size = 1) +
scale_shape_manual(values = c(21, 22))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.