R - how to change the style and font size on my two x axes, which I moved to the beginning of the graph?

It's hard for me to change the style and font size on my two x axes, both of which I moved to the beginning of the graph.

Here is my code:

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) 

This successfully changes my y axis, but my x axis remains unchanged.

Help!

+4
source share
1 answer

Reading help for axis ?axis , viewing documentation for parameters ... :

  ...: 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. 

So, just pass your cex.axis etc parameters to the axis call, just like for plot . Here's a reproducible example (note how I compiled the data, and although the data is not realistic, at least it makes the example reproducible and still solves your problem):

 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

(Your subsequent axis calls, where the axis replacement is from the plot call, so instead of using the axis parameters from plot it uses the axis parameters from axis ).

+3
source

Source: https://habr.com/ru/post/1444016/


All Articles