2017-08-31 19 views
0

私はRの初心者です。データを重なったヒストグラムにプロットすることができました。しかし、すべてのヒストグラムを1ページに配置したいと思います。私はピックするように設定しているRには話すことができないので、苦労しています(プロットの1つをプロットするだけです)。ヒストグラムが1ページに重複していますR

これはコードです:

 df<-read.csv("Salt dshalo sizes.csv",header=T) 
    #View(df) 

    library(ggplot2) 

    DSA<-df[,1] 
    DS1<-df[,2] 
    DSB<-df[,5] 
    DS2<-df[,6] 
    DSC<-df[,9] 
    DS3<-df[,10] 

    #remove the NA column by columns separately or it will chop the data 
    DSA=na.omit(DSA) 
    DS1=na.omit(DS1) 
    DSB=na.omit(DSB) 
    DS2=na.omit(DS2) 
    DSC=na.omit(DSC) 
    DS3=na.omit(DS3) 


    #plot histograms for DSA, DSB and DSC on one same graph 
    hist(DSA, prob=TRUE, main="Controls", xlab="Sizes (um)", ylab="Frequency", col="yellowgreen",xlim= c(5,25), ylim=c(0,0.5), breaks=10) 
    hist(DSB, prob=TRUE, col=rgb(0,0,1,0.5),add=T) 
    hist(DSC, prob=TRUE, col=rgb(0.8,0,1,0.5),add=T) 
    #add a legend to the histogram 
    legend("topright", c("Control 1", "Control2", "Control3"), text.width=c(1,1,1),lwd=c(2,2,2), 
      col=c(col="yellowgreen", col="blue", col="pink",cex= 1)) 
    box() 

#plot histograms for DS1, DS2 and DS3 on one same graph 
    hist(DS1, prob=TRUE, main="Monoculture Stressed", xlab="Sizes (um)", ylab="Frequency", col="yellowgreen",xlim= c(5,25), ylim=c(0,0.5), breaks=10) 
    hist(DS2, prob=TRUE, col=rgb(0,0,1,0.5),add=T) 
    hist(DS3, prob=TRUE, col=rgb(0.8,0,1,0.5),add=T) 
    #add a legend to the histogram 
    legend("topright", c("DS1", "DS2", "DS3"), text.width=c(1,1,1),lwd=c(2,2,2), 
      col=c(col="yellowgreen", col="blue", col="pink",cex= 1)) 
    box() 

# put both overlapping histograms onto one page 
    combined <- par(mfrow=c(1, 2)) 
    plot(hist(DSA),main="Controls") 
    plot(hist(DS1),main="Monoculture stressed") 
    par(combined) 

は基本的に、私は2つの別々の重複のヒストグラムを得るが、同じページ上に置くことはできません。

+0

あなたがやっているように見えるとして、あなたは基本HIST()を使用している場合は、額面の呼び出し(mfrow = C(Aを行います、b))ここで、a =グラフの行数、b =グラフの列数。あるいは、実際にオーバーラップを1つのグラフに表示することを意味しますか? – akaDrHouse

+0

こんにちは、parコマンドのおかげで。それはうまくいく、今私は伝説がつぶれている問題を抱えている。私はページに伝説を置くことができる方法はありますか? – Orbis

+0

これをチェックしてください。 https://stackoverflow.com/a/10391001/4001897 – akaDrHouse

答えて

1

編集:私は明らかにあなたの質問を完全に読まなかった。私はあなたがadd = Tを見つけたのを見ます。

私は何をあなたが探していることは、私が最初に作られたコメントであると仮定します。aとbはあなたがグラフィックを印刷するオブジェクトたい行と列の数です

par(mfrow = c(a,b))。私はこの写真のためにc(2,2)を使いました。

enter image description here

私がコメントをしたが、あなたは追加= Tオプションの話をすることができるように聞こえます。

a=rnorm(100, 2, 1) 
b=rnorm(100, 4, 1) 
hist(a, xlim=c(0,10), col="yellow") 
hist(b, add=T, col="purple") 

色の透明度オプションを使用して、両方のオーバーラップを表示することができます。色としてrgb(1,0,0,1/4)など。透明色で

enter image description here

a=rnorm(100, 2, 1) 
b=rnorm(100, 4, 1) 
hist(a, xlim=c(0,10), col=rgb(1,1,0,1/4)) 
hist(b, add=T, col=rgb(1,0,0,1/4)) 

enter image description here

関連する問題