在这个示例中,我向三个地块添加了边界:

library(ggplot2)
library(patchwork)
theme_border <- theme_gray() + 
  theme(plot.background = element_rect(fill = NA, colour = 'black',
                                       size = 1, linetype = "dashed"))

ggplot() + 
ggplot() + 
ggplot() + 
    plot_layout(ncol=1, guides = "collect") + 
    plot_annotation(title = "Pred Sp", theme = theme_border)

创建于2024年4月18日,共有reprex v2.0.2

情节标题就在里面.可以把它放在边境之外吗?此外,是否可以画圆角的边界?

推荐答案

这是一个巧妙的选项,它使用annotation_custom来伪造带有圆角的面板边界,使用grid::roundrectGrob来伪造原本空白的ggplot,然后使用patchwork::inset_element来添加三个图的补丁:

library(ggplot2)
library(patchwork)

ggplot() +
  annotation_custom(
    grid::roundrectGrob(
      r = unit(0.025, "snpc"),
      gp = grid::gpar(
        lty = "dashed", lwd = 1, fill = NA
      )
    )
  ) +
  coord_cartesian(clip = "off") +
  theme_void() +
  theme(plot.title = element_text(margin = margin(b = 5.5))) +
  labs(title = "Pred Sp") +
  inset_element(
    ggplot() +
      ggplot() +
      ggplot() +
      plot_layout(ncol = 1, guides = "collect"),
    left = 0, right = 1,
    top = 1, bottom = 0,
    on_top = FALSE
  )

R相关问答推荐

geom_raster不适用于x比例中超过2,15的值

R形式的一维数字线/箱形图样式图表

Tidyverse/Djirr为从嵌套列表中提取的列名赋值的解决方案

R:连接值,而不是变量?

r替换lme S4对象的字符串的一部分

在另一个函数中调用ggplot2美学

在R中为马赛克图中的每个字段着色

par函数中的缩写,比如mgp,mar,mai是如何被破译的?

如何在一次运行中使用count进行多列计数

使用R闪光显示所有数据点作为默认设置

从多个可选列中选取一个值到一个新列中

R -如何分配夜间GPS数据(即跨越午夜的数据)相同的开始日期?

如何提取R中其他字符串和数字之间的字符串?

使用列中的值来调用函数调用中应使用的其他列

错误包arrowR:READ_PARQUET/OPEN_DATASET&QOT;无法反序列化SARIFT:TProtocolException:超出大小限制&Quot;

从线的交点创建面

如何使用grepl()在数据帧列表中 Select 特定字符串?

使用同一行中的前一个值填充R矩阵中的缺失值

R:改进实现简单模型

修复标签重叠和ggploy内的空间