在R中绘制具有长文本标题的多个图表?

在R中绘制具有长文本标题的多个图表?,r,plot,R,Plot,假设我将绘图拆分为2x2网格par(mfrow=c(2,2)),我想为每个绘图设置一个标题(因此4个绘图,4个不同的标题)。然而,我的头衔真的很长;例如,abcdefgcdefgpolintdeeghabcdefgpolintdeeggsbjwdnlebdljhwebdyb(真实标题是名称的组合,但由于隐私问题,我无法将其放在这里,但基本上与示例相同)。标题的长度从4个字母到120个字母不等。我怎样才能完美地把标题写进去?可读取且不会超出绘图范围*我正在使用基本函数plot,如果继续使用此函数而

假设我将绘图拆分为2x2网格
par(mfrow=c(2,2))
,我想为每个绘图设置一个标题(因此4个绘图,4个不同的标题)。然而,我的头衔真的很长;例如,
abcdefgcdefgpolintdeeghabcdefgpolintdeeggsbjwdnlebdljhwebdyb
(真实标题是名称的组合,但由于隐私问题,我无法将其放在这里,但基本上与示例相同)。标题的长度从4个字母到120个字母不等。我怎样才能完美地把标题写进去?可读取且不会超出绘图范围*我正在使用基本函数
plot
,如果继续使用此函数而不是
ggplot
,那就太好了


我尝试在
plot
中将标题打印为text
text
而不是title
main
,但文本已用完绘图。我可以手动将标题拆分成几行,但它需要很多作品,我有很多情节。文本的大小也是一个问题,其中一些是巨大的,因为文本很短,而其中一些实际上是不可读的。我希望它们是一致的。

一个选项是在每个绘图中以固定宽度将字符串分割成新行

par(mfrow=c(2,2))
n <- 10
pat <- sprintf("(.{%d})", n)
for(i in seq_along(str1)) plot(0, 0, 
            main = gsub(pat, "\\1\n", str1[i], perl = TRUE))
par(mfrow=c(2,2))
N
library(stringi)
set.seed(24)
str1 <-  stri_rand_strings(4, 50, '[A-Z]')