创建R中

问题描述:

我有三个系列,我想作为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

你要使用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

目前还不清楚你希望如何三个图形出现,但一个简单的解决方案是,以你的前面加上绘图...

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

其他人提到parmfrow,如果您想要更多地控制绘图区域的位置,大小和形状,也可以使用layout函数。