R - 如何在我移动到图形顶部的两个x轴上更改字体样式和大小?

时间:2012-11-05 00:04:22

标签: r fonts size

我在两个x轴上更改了字体样式和大小,我已经将它们移到了图形的顶部。

到目前为止,这是我的代码:

x1<-Temperature
x2<-Salinity

y<-Depth
par(mar=c(4, 4, 8, 4))

plot(x2,y, type="l",col="darkgrey",ylim=rev(range(0,300)),las=2,xlim=(range(32.5,34.5)),xaxt='n',xlab='',font.axis=2,lwd=3,ylab="Depth [m]",font=2,font.lab=2,cex.lab=1.3,cex.axis=1.2)
axis(side=3, line=4)
par(new=TRUE)
plot(x1,y, type="l",col="black",ylim=rev(range(0,300)),las=2,xaxt='n',xlab='',lwd=3,ylab='Depth [m]',font=2,font.lab=2,cex.lab=1.3,cex.axis=1.2)
axis(side=3, line=0)
par(new=TRUE)

这成功地改变了我的y轴,但是我的x轴保持不变。

帮助!

1 个答案:

答案 0 :(得分:5)

阅读axis?axis的帮助,查看...参数的文档:

 ...: other graphical parameters may also be passed as arguments to
      this function, particularly, ‘cex.axis’, ‘col.axis’ and
      ‘font.axis’ for axis annotation, ‘mgp’ and ‘xaxp’ or ‘yaxp’
      for positioning, ‘tck’ or ‘tcl’ for tick mark length and
      direction, ‘las’ for vertical/horizontal label orientation,
      or ‘fg’ instead of ‘col’, and ‘xpd’ for clipping.  See ‘par’
      on these.

所以,只需将cex.axis等参数传递到axis来电,就像plot那样。这是一个可重复的示例(请注意我是如何编写数据的,即使数据不真实,至少它使示例可重现并仍能解决您的问题):

x1 <- runif(10)
x2 <- runif(10) * 2 + 32.5
y <- runif(10) * 300

par(mar=c(4, 4, 8, 4))    
plot(x2,y, type="l",col="darkgrey",ylim=rev(range(0,300)),las=2,xlim=(range(32.5,34.5)),xaxt='n',xlab='',font.axis=2,lwd=3,ylab="Depth [m]",font=2,font.lab=2,cex.lab=1.3,cex.axis=1.2)

# added in various font/axis labels as in above
axis(side=3, line=4,font.axis=2,font.lab=2,cex.lab=1.3,cex.axis=1.2)

par(new=TRUE)
plot(x1,y, type="l",col="black",ylim=rev(range(0,300)),las=2,xaxt='n',xlab='',lwd=3,ylab='Depth [m]',font=2,font.lab=2,cex.lab=1.3,cex.axis=1.2)
axis(side=3, line=0,font.axis=2,font.lab=2,cex.lab=1.3,cex.axis=1.2)

setting axis properties in R

(您后续调用axis,其中plot调用中替换轴,因此不使用plot中的轴参数,而是使用轴来自axis)的参数。