我想从一个简单的数据集中绘制一个矩形内有大点的图。我可能希望在不同的方面显示多个结果。问题在于,矩形的大小(使用geom_rect)以轴为单位定义,而的size参数为geom_point其他单位。因此,矩形的点的相对大小根据构面的数量而变化:
data<-data.frame(y=1:3,
facet=factor(1:3),
x=rep(1,3))
testplot<-function(data){
p<-ggplot(data,aes(x=x,y=y,color=y))
p<-p+facet_grid(.~facet)
p<-p+scale_x_continuous(limits=c(0.5,1.5))
p<-p+scale_y_continuous(limits=c(0.5,3.5))
p<-p+geom_rect(xmin=0.85,xmax=1.15,ymin=0.74,ymax=3.25)
p<-p+geom_point(size=50)
return(p)
}
p1<-testplot(subset(data,facet=="1"))
p2<-testplot(data)
Run Code Online (Sandbox Code Playgroud)
我的问题是,是否可以按轴单位缩放绝对点的大小,以便p1和p2的点和矩形的相对大小相同,而与图中的构面数量无关。