0

1 ページに 3 つの ggplot 散布図と 1 つのデンドログラムを表示する必要があります。各散布図でポイントの色を同じにするにはどうすればよいですか (つまり、グループ 2 のポイントを 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