2013-07-09 135 views
2

我想使用filled.contour()来绘制矩阵中的一些数据。filled.contour()in R:标签轴 - cex,las,et al

一切都很完美,直到我将图形导入到我的tex文件中,并意识到我需要在最终文档中使用它的字体大小才能读取它。

不幸的是,我似乎无法调整filled.contour()中的参数cex,对于las(我希望ylabel平行于x轴)也是如此。

下面是一个简单的例子。虽然我预计每种情况下的输出都不相同,即字体大小,但生成的绘图几乎相同。

非常感谢您给我的任何帮助。

x=1:10 
    y=1:10 
    z=array(rnorm(100),dim=c(10,10)) 
    filled.contour(x,y,z) 
    filled.contour(x,y,z,xlab='x',ylab='y') 
    filled.contour(x,y,z,xlab='x',ylab='y',las=1) 
    filled.contour(x,y,z,xlab='x',ylab='y',las=1,cex=2) 
    filled.contour(x,y,z,xlab='x',ylab='y',las=1,cex=20) 
+2

用于'las'的默认值是1,所以对于标签方向应该没有变化。你尝试过'las = 0'吗?而对于字体大小,你有没有试图改变'cex.lab'? – QuantIbex

+0

我没有,谢谢! –

+0

关于标签的方向,我期望默认的las = 1可以使两个标签都是水平的,但事实并非如此。事实上,当我改变las(0,1,2或3)时,情节上似乎没有什么不同。我错过了什么? –

回答

7

@QuantIbex是正确的,但你也可以通过在plot.titleplot.axeskey.titlekey.axes参数指定通过其他图形参数。

这是必要的,因为通常的图形参数不传递直通,如在?filled.contour描述:

...: additional graphical parameters, currently only passed to 
     ‘title()’. 

例如:

x=1:10 
y=1:10 
z=array(rnorm(100),dim=c(10,10)) 

filled.contour(x,y,z,las=0, 
    plot.axes={ 
       axis(1,cex.axis=2) 
       axis(2,cex.axis=2) 
      }, 
    plot.title={ 
       title(xlab="x",cex.lab=2) 
       mtext("y",2,cex=2,line=3,las=1) 
    } 
) 

enter image description here

+0

正是我需要的。不过,我仍然错过了一些关于参数las的内容。不管我为拉斯维加斯输入的价值(我试过las = 0,1,2和3),没有任何变化。我只是希望两个标签具有相同的方向(水平)。我认为这将是默认的行为,因为拉斯维加斯= 1部分,但显然它不是。无论如何,我将把这个问题标记为已解决。非常感谢你的帮助! –

+0

@dd_rlwll - 您是否指的是使轴标签上的文字“y”水平? – thelatemail

+0

我正是指那个。 –