2013-02-25 45 views
1

后:标签中不显示我正在下面的代码布局序列[R

par(bg="yellow", mar=c(2,2,2,2)) 
layout(matrix(c(rep(1,12),2:13),nrow=2,byrow=T),width=myWidth) 
plot(days,sum_precip,type="l",xaxt="n",yaxt="n",ann=FALSE, 
         xlab="TEST",main="WEWQWE",ylab="dsads") 

在最后声明,我的阴谋失败,即使在参数指定此之后显示的任何标签。是因为我的利润太小?

我想为布局的底部行上的每个图形的x轴添加一个标题。发行

例子:

注意,我更好奇,为什么这是行不通的。我知道我可以指定一个轴(..),但是这更加不利于我们。

回答

1

这里使用mtext的溶液。请参阅文字

将文本写入当前图的四个边界之一 区域或设备区域的一个外边界。

par(bg="lightyellow", mar=c(2,2,2,2)) 
layout(matrix(c(rep(1,12),2:13),nrow=2,byrow=T)) 

replicate(13, 
      { plot(x=1:5,y=cumsum(1:5),type="l",xaxt="n",yaxt="n",ann=FALSE) 
       mtext(text='TEST',side=1,line=1) 
       mtext(text='dsads',side=2,line=1) 

       }) 

enter image description here

编辑

您可以设置保证金为每一个情节。

par(bg="lightyellow", mar=c(2,2,2,0)) 
layout(matrix(c(rep(1,12),2:13),nrow=2,byrow=T)) 
for(i in 1:13){ 
       if (i %in% 1:2){ 
       plot(x=1:5,y=cumsum(1:5),type="l",xaxt="n",yaxt="n",ann=FALSE) 
        mtext(text='TEST',side=1,line=1) 
        mtext(text='dsads',side=2,line=1) 
       }else{ 
       par(mar=c(2,0,2,0)) 
       plot(x=1:5,y=cumsum(1:5),type="l",xaxt="n",yaxt="n",ann=FALSE) 
       } 
      } 

enter image description here

+0

谢谢,这正是我一直在寻找但是。反正是有边距设置为C(2,0,2,0),并只对第二排第一个图有一个y轴(使对方11个图共享相同的Y轴?)我”我们一直无法为1个图表指定边界,它似乎影响了所有这些图表。 – Andy 2013-02-26 02:43:34

+1

@Django看到我的更新。 – agstudy 2013-02-26 02:58:46

1

是的利润率太小。

例子:

par(mar=rep(4,4)) 
plot(1, 1, xaxt='n', xlab='x', yaxt='n', ylab='y') 

margins 4,4,4,4

这说明标签(抱歉,这是很小的)。

但是使用par(mar=rep(2,4))

margins 2,2,2,2

标签被切断。

您可以使用mgp参数来修改轴文本与轴的偏移量(以行为单位)。特别是(?par),mgp是长度为3的向量,其中mgp[1]是小区和轴标签之间的界线,mgp[2]为轴线本身和mpg[3]对于轴的刻度标记。

所以:

par(mar=rep(2,4)) 
# mgp[2:3] irrelevant in this case as we have turned 
# axis line/ticks off; doesn't matter what they are set to 
plot(1, 1, xaxt='n', xlab='x', yaxt='n', ylab='y', mgp=c(1,0,0)) 

这将放置轴标签1线远离刚刚符合我们的2,2,2,2余量的轴线(即,在第二行上的距离)。

margins 2,2,2,2 with mgp