【问题标题】:Plotting multiple diagram with long text title in R?在R中绘制多个带有长文本标题的图表?
【发布时间】:2020-09-13 00:06:28
【问题描述】:

假设我将绘图拆分为 2x2 网格par(mfrow=c(2,2)),并且我想为每个绘图放置一个标题(所以 4 个绘图,4 个不同的标题)。但是,我的标题真的很长;比如ABCDEFGCDEFGPOLINTDEEGHABCDEFGPOLINTDEEGHGSBJWDNLEBDLJHWEBDYB(真正的标题是名字的组合,但是因为隐私问题我不能放在这里,但是和例子基本一样)。标题的长度范围为 4 到 120 个字母。我怎样才能完美地放入标题?可读且不会超出情节。 *我正在使用基本函数plot,继续使用这个函数而不是ggplot会很棒。

我尝试将标题绘制为文本 text 而不是 plot 中的标题 main,但文本已超出情节。我可以手动将标题分成几行,但这需要很多作品,而且我有很多情节。文本的大小也是一个问题,其中一些是巨大的,因为文本很短,而其中一些实际上是不可读的。我希望它们保持一致。

【问题讨论】:

    标签: r plot


    【解决方案1】:

    一种选择是将固定宽度的字符串拆分为每个图中的新行。

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

    数据

    library(stringi)
    set.seed(24)
    str1 <-  stri_rand_strings(4, 50, '[A-Z]')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-09
      • 2019-02-13
      • 2023-03-28
      • 2011-08-10
      • 1970-01-01
      • 1970-01-01
      • 2017-09-11
      • 2018-10-08
      相关资源
      最近更新 更多