R 对齐笨拙的绘图和轴标题

R 对齐笨拙的绘图和轴标题,r,plot,R,Plot,我绘制了以下曲线图,显示了1979-2015年4个季节(每行)的温度变化(左栏)和降水变化(右栏): 现在,我希望在“温度(°C)”图左侧的4个图和“降水量(mm)”图右侧的4个图中添加一个通用y轴标签。我还希望每一排地块都有一个中心对齐的标题,标题上写着季节名称。输出应该如下所示: 我已经看过了各种使用不可见图绘制的示例,以创建轴标题等,但无法根据我的情况调整其中任何一个。非常感谢您的建议。正如我在5小时前的评论中所说,有一种方法可以解决所有定位问题,即使用mtext();只是我不知道这是

我绘制了以下曲线图,显示了1979-2015年4个季节(每行)的温度变化(左栏)和降水变化(右栏):

现在,我希望在“温度(°C)”图左侧的4个图和“降水量(mm)”图右侧的4个图中添加一个通用y轴标签。我还希望每一排地块都有一个中心对齐的标题,标题上写着季节名称。输出应该如下所示:


我已经看过了各种使用不可见图绘制的示例,以创建轴标题等,但无法根据我的情况调整其中任何一个。非常感谢您的建议。

正如我在5小时前的评论中所说,有一种方法可以解决所有定位问题,即使用
mtext()
;只是我不知道这是否是最好的解决方案。然而,已经有5个小时了,没有收到任何回复,所以我决定把我的回复发出去

放置“温度”、“降水量”和“冬季”并不困难,但需要对放置“春季”、“夏季”和“秋季”进行一些调整。以下模板代码中的变量
offset
控制此类调整<代码>偏移=-14.5接近最佳,当我在以下位置生成图形时:

jpeg(file = "template.jpeg", width = 600, height = 600, quality = 100)
## template code
dev.off()
根据绘图的大小,您需要根据需要调整/重置偏移量


模板代码

## set plot layout, inner margin and outer margin
par(mfrow=c(4,2), mar = c(1.5,2.5,1.5,2.5), oma = c(3,4,3,4))

## plot 1
plot(1:5, ann = FALSE, xaxt = "n")
axis(4, at = axTicks(4))
axis(1, at = axTicks(1), labels= NA)

## plot 2
plot(1:5, ann = FALSE, xaxt = "n")
axis(4, at = axTicks(4))
axis(1, at = axTicks(1), labels= NA)

## plot 3
plot(1:5, ann = FALSE, xaxt = "n")
axis(4, at = axTicks(4))
axis(1, at = axTicks(1), labels= NA)

## plot 4
plot(1:5, ann = FALSE, xaxt = "n")
axis(4, at = axTicks(4))
axis(1, at = axTicks(1), labels= NA)

## plot 5
plot(1:5, ann = FALSE, xaxt = "n")
axis(4, at = axTicks(4))
axis(1, at = axTicks(1), labels= NA)

## plot 6
plot(1:5, ann = FALSE, xaxt = "n")
axis(4, at = axTicks(4))
axis(1, at = axTicks(1), labels= NA)

## plot 7
plot(1:5, ann = FALSE)
axis(4, at = axTicks(4))

## plot 8
plot(1:5, ann = FALSE)
axis(4, at = axTicks(4))

## write text on outer margins
mtext("Temperatures (°C)", 2, outer = TRUE, line = 2, font = 2)
mtext("Precipitation (mm)", 4, outer = TRUE, line = 2, font = 2)
mtext("Winter", 3, outer = TRUE, line = 0, font = 2)

## needs tuning on `offset`
offset <- -14.5
mtext("Spring", 3, outer = TRUE, line = offset, font = 2)
mtext("Summer", 3, outer = TRUE, line = 2 * offset, font = 2)
mtext("Autumn", 3, outer = TRUE, line = 3 * offset, font = 2)
##设置打印布局、内页边距和外页边距
par(mfrow=c(4,2),mar=c(1.5,2.5,1.5,2.5),oma=c(3,4,3,4))
##地块1
绘图(1:5,ann=FALSE,xaxt=“n”)
轴(4,at=轴刻度(4))
轴(1,at=轴刻度(1),标签=NA)
##情节2
绘图(1:5,ann=FALSE,xaxt=“n”)
轴(4,at=轴刻度(4))
轴(1,at=轴刻度(1),标签=NA)
##情节3
绘图(1:5,ann=FALSE,xaxt=“n”)
轴(4,at=轴刻度(4))
轴(1,at=轴刻度(1),标签=NA)
##情节4
绘图(1:5,ann=FALSE,xaxt=“n”)
轴(4,at=轴刻度(4))
轴(1,at=轴刻度(1),标签=NA)
##情节5
绘图(1:5,ann=FALSE,xaxt=“n”)
轴(4,at=轴刻度(4))
轴(1,at=轴刻度(1),标签=NA)
##情节6
绘图(1:5,ann=FALSE,xaxt=“n”)
轴(4,at=轴刻度(4))
轴(1,at=轴刻度(1),标签=NA)
##情节7
绘图(1:5,ann=FALSE)
轴(4,at=轴刻度(4))
##情节8
绘图(1:5,ann=FALSE)
轴(4,at=轴刻度(4))
##在外页边距上书写文本
多行文字(“温度(°C)”,2,外部=真,行=2,字体=2)
多行文字(“降水量(mm)”,4,外部=TRUE,行=2,字体=2)
多行文字(“Winter”,3,outer=TRUE,line=0,font=2)
##需要调整“偏移量”`

你能把你的密码贴出来吗?对不起@ZheyuanLi,我在度假,直到现在才再次检查。这是一个伟大的工程,是一个了不起的帮助-谢谢!