【问题标题】:How to add annotations to a 28 multi-plot case in R?如何在 R 中为 28 个多情节案例添加注释?
【发布时间】:2017-06-29 07:03:24
【问题描述】:

我有一个空平台,可容纳 28 个地块:

par(mfcol = c(7, 4), mar = rep(.1, 4), oma = rep(5, 4))

lapply(1:28, plot, t = "n", xaxt = "n", yaxt = "n")

问题

我想知道如何将下面显示的所有注释添加到我的 28 个图的空平台上方(几个示例显示如何添加一些这些注释中的一些会让我继续前进):

【问题讨论】:

  • 设置更宽的边距,然后可能会看到this post

标签: r plot


【解决方案1】:

这些注释对我来说总是很挑剔,但作为一个开始:

par(mfcol = c(7, 4), mar = rep(.1, 4), oma = rep(10, 4))

lapply(1:28, plot, t = "n", xaxt = "n", yaxt = "n")

l <- rep('Very Strong\n23%', 7)

at <- seq(grconvertY(0 + (1 / 14), "nic"), grconvertY(1 - (1 / 14), "nic"), l = 7)

mtext(l, 4, at = at, las = 1, line = 1)

所以这里棘手的部分是坐标,对于mtext,它被定义为用户坐标。我们可以使用grconvertXgrconvertYnic 坐标转换为用户坐标。这些是从 0 到 1 的“标准化内部区域坐标”。因此,对于面板中间的 7 个数字,我们需要从0 + (1 / 14)1 - (1 / 14) 的序列。您可以对其他文本使用类似的逻辑。

添加更多mtext 电话会让您走得更远。

【讨论】:

  • 好的,谢谢,有没有办法让您找到at = seq(30, 180, l = 7) 的好职位?
  • 我进行了编辑以提供更好的选择。 (对不起,我不再使用基本情节了。)
  • 当然,我很感激。那么,如果你想把这 8 个数字:c('1/10', '1/3', '1', '3', '10', '30', '100', '100000') 不是在面板的中间,而是在面板之间的空间(间隙)处呢?哦,您可以在我的问题(贝叶斯因子)的情节的第 2 侧看到这些数字,对吧?
猜你喜欢
  • 2015-09-14
  • 2017-02-09
  • 2021-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-06
  • 2014-09-18
  • 2011-05-28
相关资源
最近更新 更多