0

我需要在一页上显示 3 个 ggplot 散点图和一个树状图。如何使每个散点图中的点颜色相同(即,我需要第二组的点对于所有 3 个图表的颜色都相同)。

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")

我尝试使用多图函数 multiplot(p1,p2,p3,dp,cols=2) 并得到:

在此处输入图像描述

奖励:这些图都有一个固定的纵横比,因此散点图的大小不同,这很好,但我真的不需要散点图占用这么多空间。如何控制最终图中每个图的空间大小?

4

0 回答 0