我需要在一个页面上显示3个ggplot散点图和一个树形图。如何在每个散点图中使点颜色相同(即,对于所有3个图,我需要第2组的点为相同颜色)。
require(graphics)
require(ggplot)
require(ggdendro)
#Scatter plots
df1<-data.frame(x=c(3,4,5),y=c(15,20,25),grp=c(1,2,2))
df1$grp =factor(df1$grp)
colnames(df1)[3]="Group"
p<-ggplot(df1,aes(x,y))
p<-p+ geom_point(aes(colour=factor(Group)),size=4)
p1<-p + coord_fixed()
df2<-data.frame(x=c(3,4,5,6),y=c(15,20,25,30),grp=c(1,2,2,3))
df2$grp =factor(df2$grp)
colnames(df2)[3]="Group"
p<-ggplot(df2,aes(x,y))
p<-p+ geom_point(aes(colour=factor(Group)),size=4)
p2<-p + coord_fixed()
df3<-data.frame(x=c(3,4,5,6,7),y=c(15,20,25,30,35),grp=c(1,2,2,3,4))
df3$grp =factor(df3$grp)
colnames(df3)[3]="Group"
p<-ggplot(df3,aes(x,y))
p<-p+ geom_point(aes(colour=factor(Group)),size=4)
p3<-p + coord_fixed()
#Dendrogram
dis <- hclust(dist(USArrests), "ave")
d<-as.dendrogram(dis)
ddata<-dendro_data(d,type="rectangle")
dp<-ggplot(segment(ddata)) + geom_segment(aes(x=x,y=y,xend=xend,yend=yend))
dp<-dp+geom_hline(aes(yintercept=50),colour="red")
我尝试过用multi plot function 的multiplot(P1,P2,P3,DP,COLS = 2) 得到了:
奖励:图表都具有固定的宽高比,因此散点图的大小不同,这很好,但我真的不需要散点图来占用太多空间。如何控制最终图中每个图形的空间大小?