Managing Chart Header Parameters in R

I tried to set a single common header and a unique common xy-axis label for 4 combined sub-patches:

dev.new( width =  9, height = 10)
layout( matrix( c( 0, 1, 1, 2, 3, 4, 2, 5, 6, 0, 7, 7 ), 4, 3, byrow = TRUE), widths = c( 1, 4, 4 ), heights = c( 1, 4, 4, 1 ) )
par( mar = c( 1, 0, 1, 0 ) )
plot( c(1:2), type = "n", xlab = "", ylab = "", axes = F, cex = 0.7 ) #general title 
title( main = "title", ps = 2 )
par( mar = c( 1, 0, 1, 1) )
plot( c(1:2), type = "n", xlab = "", ylab = "", axes = F, las = 2, cex = 0.7 ) #general y-label  
title( main = " y-label ", las = 0 )
par( cex= 0.9,  mar = c( 5, 1, 1, 2 ) )
plot( c(1:10), type="l", xlab = "A", ylab = "", axes = T, las = 1, cex = 0.7 ) # first    subplot 
par( cex= 0.9,  mar = c( 5, 1, 1, 3 ) )
plot( c(10:1), type ="l", xlab = "B", ylab = "", axes = T, las = 1, cex = 0.7 ) # second subplot
par( cex= 0.9,  mar = c( 5, 1, 1, 2 ) )
plot( c(1:10), type="l", xlab = "C", ylab = "", axes = T, las = 1, cex = 0.7 ) # third subplot
par( cex= 0.9,  mar = c( 5, 1, 1, 3 ) )
plot( c(1:2), type="l", xlab = "D", ylab = "", axes = T, las = 1, cex = 0.7 ) # fourth subplot
par(mar = c( 1, 0, 1, 0 ) )
plot( c(1:2), type = "n", xlab = "", ylab = "", axes = F, cex = 0.7 ) #general x-label
title( main = " x-label " )

How can I control the font size, position and orientation of these names?

+5
source share
1 answer

What you are looking for is the outer limit for the whole figure. Set it with par(oma=...)and add the labels and axis header to it with mtext(..., outer=TRUE).

par(mfrow=c(2,2), oma=c(3,3,4,0), mar=c(4,2,1,1), las=1, cex=0.7)
plot(1:10, type="l", xlab="A", ylab="")
plot(10:1, type ="l", xlab="B", ylab="")
plot(1:10, type="l", xlab="C", ylab="")
plot(1:2, type="l", xlab="D", ylab="")
mtext("X-label", 1, 1, outer=TRUE)
mtext("Y-label", 2, 1, outer=TRUE, las=0)
mtext("Title", 3, 1, outer=TRUE, cex=2)

enter image description here

Note that it is 1:10equivalent c(1:10)and that all parameters parthat are constant on the AD panels should only be set once in a call par.

+7
source

All Articles