使多个ggplot在r中具有相同的点颜色

时间:2012-09-27 12:56:43

标签: r ggplot2 dendrogram aesthetics

我需要在一个页面上显示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) 得到了:

enter image description here

奖励:图表都具有固定的宽高比,因此散点图的大小不同,这很好,但我真的不需要散点图来占用太多空间。如何控制最终图中每个图形的空间大小?

0 个答案:

没有答案