5

我试图为 4 个组合子图设置一个通用标题和一个唯一的通用 xy 轴标签:

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 " )

如何控制这些标题的字体大小、位置和方向?

4

1 回答 1

7

您正在寻找的是整个图形的外边距。使用 设置并在其中par(oma=...)添加轴标签和标题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)

在此处输入图像描述

请注意,这1:10等效于c(1:10)并且所有par跨面板 AD 的恒定设置只需要在par调用中设置一次。

于 2012-08-29T11:31:24.427 回答