2012-07-18 93 views
0

我有三個系列,我想作爲R一個窗口顯示出類似的圖形的一組曲線的..創建R中

這是數據:

Date Tank Time Female.in.Middle Female.in.R.assoc Female.in.L.assoc R.side.of.divider 
117 25-Jun I3 200   0.0966   0.2721   0.2001   0.0000 
120 26-Jun I3 1030   0.2118   0.5663   0.2212   0.0000 
123 27-Jun I3 200   0.0000   0.0000   0.0000   0.0000 
128 28-Jun I3 1100   0.0237   0.0672   0.1408   0.3289 
129 28-Jun I3 230   0.0683   0.0606   0.2488   0.0000 
132 29-Jun I3 200   0.1823   0.1180   0.6990   0.0000 
135 2-Jul I3 200   0.0000   0.0000   0.0000   0.0000 
138 3-Jul I3 1030   0.0000   0.0000   0.0000   0.0000 
    L.side.of.Divider Tank.1 Date.Entered M.L.name Male.L.Length Male.L.Weight M.R.name 
117   0.4285  I3  22-Jun green 2   7.6   14.32 pink 1 
120   0.0000  I3  22-Jun green 2   7.6   14.32 pink 1 
123   0.9961  I3  22-Jun green 2   7.6   14.32 pink 1 
128   0.4423  I3  22-Jun green 2   7.6   14.32 pink 1 
129   0.6215  I3  22-Jun green 2   7.6   14.32 pink 1 
132   0.0000  I3  22-Jun green 2   7.6   14.32 pink 1 
135   0.9952  I3  22-Jun green 2   7.6   14.32 pink 1 
138   0.9948  I3  22-Jun green 2   7.6   14.32 pink 1 
    Male.R.Length Male.R.Weight Side.of.Spawn F.Length F.Weight F.name last.female.spawn.date 
117   7.7   14.79    L  5.5  5.64  2c     22-Jun 
120   7.7   14.79    L  5.5  5.64  2c     22-Jun 
123   7.7   14.79    L  5.5  5.64  2c     22-Jun 
128   7.7   14.79    L  5.5  5.64  2c     22-Jun 
129   7.7   14.79    L  5.5  5.64  2c     22-Jun 
132   7.7   14.79    L  5.5  5.64  2c     22-Jun 
135   7.7   14.79    L  5.5  5.64  2c     22-Jun 
138   7.7   14.79    L  5.5  5.64  2c     22-Jun 
    spawn.date.in.paradigm X d.in.p dbs X.1 X.2 X.3 
117     3-Jul 11  3 8 NA NA NA 
120     3-Jul 11  4 7 NA NA NA 
123     3-Jul 11  5 6 NA NA NA 
128     3-Jul 11  6 5 NA NA NA 
129     3-Jul 11  6 5 NA NA NA 
132     3-Jul 11  7 4 NA NA NA 
135     3-Jul 11  10 1 NA NA NA 
138     3-Jul 11  11 0 NA NA NA 

我我使用這個代碼,以使圖:

d2c<-plot(jd2c$d.in.p, jd2c$L.side.of.Divider, type='l', col='purple', xlab='Days After Entry', ylab='Proportion of Time Spent on Each Side of Divider', main='Female 2c', ylim=c(0,1)) 
legend('topleft',.8,c('Left', 'Right'),pch=c(.8), col=c('purple','green')) 
points(jd2c$d.in.p, jd2c$R.side.of.divider, type='l', col='green') 


az2c<-plot(jd2c$d.in.p, jd2c$Female.in.L.assoc, type='l', col='purple', xlab='Days After Entry', ylab='Proportion of Time Spent in Assoc. Zones', main='Female 2c', ylim=c(0,1)) 
legend('topleft',.8,c('Left', 'Right'),pch=c(.8), col=c('purple','green')) 
points(jd2c$d.in.p, jd2c$Female.in.R.assoc, type='l', col='green') 


rside2c<-cbind(jd2c$Female.in.R.assoc + jd2c$R.side.of.divider) 
lside2c<-cbind(jd2c$Female.in.L.assoc + jd2c$L.side.of.Divider) 

side2c<-plot(jd2c$d.in.p, lside2c, type='l', col='purple', xlab='Days After Entry', ylab='Proportion of Time Spent on Each Side (cumulative)', main='Female 2c', ylim=c(0,1)) 
legend('topleft',.8,c('Left', 'Right'),pch=c(.8), col=c('purple','green')) 
points(jd2c$d.in.p, rside2c, type='l', col='green') 

我怎樣才能得到三個圖顯示了一個窗口?

謝謝!

+1

這是'ggplot2'真正發光的地方。 – 2012-07-18 14:23:26

+0

要更具體一些,看看'ggplot2'方面:http://had.co.nz/ggplot2/facet_wrap.html。 – 2012-07-18 14:32:42

+0

除了ggplot2也需要重新整形所有的數據。 – John 2012-07-18 14:42:57

回答

1

你要使用par

# Put this before your plots: 
par(mfrow=c(3,1)) # your plots appear in one column, three rows, 
        # in one figure. 
plot(...) 
plot(...) 
plot(...) 
par(mfrow=c(1,1)) # always a good idea to return it to how it was 
        # afterwards, so later plots aren't affected 
+0

這工作得很好,除了圖看起來拉伸或濃縮取決於我使用mfrow = c(3,1)或mfrow = c(1,3).....有沒有代碼來獲得圖中的圖相同的規模,如果每個窗口只有一個? – 2012-07-18 15:28:03

+0

只需拉伸或縮小窗口即可更改圖形的形狀。在保存圖形之前,嘗試更改圖形窗口的形狀。 – 2012-07-18 16:11:59

0

目前還不清楚你希望如何三個圖形出現,但一個簡單的解決方案是,以你的前面加上繪圖...

par(mfrow = c(1,3)) 

現在,您將在一個窗口中看到所有三個圖。當然你需要擴大窗口。否則,圖形將全部壓扁。您需要查找?Devices以獲取您需要的特定輸出。如果您只是想讓它出現在屏幕上,那麼Linux上的X11或Mac OS X上的quartz將可以使用。例如,在Mac上撥打電話...

quartz('my new graph', 15, 5) 

這將使繪製的空間寬度達到3倍。當你進行初始繪圖調用時,它會自動隱式調用,尺寸爲7「

你應該查看par的幫助信息,這也是一個很好的建議,可以保存當前的設置然後恢復它們。 ...

opar <- par(mfrow = c(1,3)) 

,然後你的繪圖

par(opar) 

這是一個簡單的方法來恢復你已經做出了圖形參數許多變化後,即使以後的事情。

+0

quarts()函數適用於我在尋找的內容,但是當我嘗試使用pdf()圖形時,它會在我嘗試打開該文件時顯示「文件已損壞」。是否可以將窗口設置爲該大小,然後運行把我的所有圖表都放到一個地方的代碼? – 2012-07-18 21:28:05

+0

你必須用dev.off()關閉pdf – John 2012-07-19 02:13:44

0

其他人提到parmfrow,如果您想要更多地控制繪圖區域的位置,大小和形狀,也可以使用layout函數。