R语言 为多个图添加共同的主标题

R语言 为多个图添加共同的主标题

在这篇文章中,我们将研究在R编程语言中的基础R和ggplot2包中为多个图添加共同主标题的两种不同方法。

方法1:使用par和mtext()函数

在这种方法中,为了给多个图添加一个共同的主标题,用户需要调用par()和mtext()函数,这是R编程语言的内置函数,这里用户还需要使用par函数的mfrow参数,并在两个函数中传递所需参数。然后创建一个nrows x ncols图的矩阵,这将导致在单个图中形成多个图,mtext()函数将在当前图区的四个边距中增加文字,这将导致在R编程语言中为多个图增加共同的主标题。

  • par() 函数可用于设置或查询图形参数。

语法

par(…, no.readonly = FALSE)

参数

  • …:标签=值形式的参数,或一个标签值的列表。
  • no.readonly:逻辑上的;如果是TRUE,并且没有其他参数,则只返回参数,这些参数可以由同一设备上的后续par()调用设置。

  • mtext() 函数用于将文本写入当前图形区域的四个边距之一或设备区域的一个外边距中

语法

mtext(text, side = 3, line = 0, outer = FALSE, at = NA, adj = NA, padj = NA, cex = NA, col = NA, font = NA, ...)

参数

  • text:一个字符或表达式向量,指定要写入的文本。其他对象由as.graphicsAnnot强制执行。
  • side:绘图的哪一面(1=底部,2=左侧,3=顶部,4=右侧)。
  • line:在哪条MARgin线上,从0开始向外数。
  • outer:如果有的话,使用外边距。
  • at:在用户坐标中给出每个字符串的位置。
  • adj:在阅读方向上对每个字符串进行调整。
  • padj:垂直于阅读方向的每个字符串的调整。
  • cex:字符扩展系数。NULL和NA等同于1.0。
  • col:要使用的颜色。可以是一个矢量。NA值(默认)意味着使用par(“col”)。
  • font:文本的字体。可以是一个向量。NA值(默认)意味着使用par(“font”)。
  • …:进一步的图形参数,包括family、las和xpd。

例子

使用中的数据。

在R语言中为多个图添加共同的主标题

gfg_data <- data.frame(x = 1:10,y = 10:1)
  
par(mfrow = c(2, 2))                        
  
plot(gfg_datax, gfg_datay)                       
plot(density(gfg_datax), main = "")
  
barplot(gfg_datax)
boxplot(gfg_data)
  
mtext("GFG Multiplot", side = 3, line = - 2, outer = TRUE)

输出

在R语言中为多个图添加共同的主标题

方法2:使用 ggplot2和patchwork包

在这种方法中,为了给多个图添加一个共同的主标题,用户首先需要在R控制台中安装并导入ggplot2和patchwork包,在ggplot2包的帮助下,用户将能够绘制多个图,并在patch包的帮助下调用plot_annotation(),并输入所需的参数,用户将能够为ggplot2包创建的多个图添加共同的主标题,进一步,这将导致为多个图添加共同的主标题。

plot_annotation() 函数主要用于对最终的拼合图进行注释。

语法

plot_annotation( title = NULL, subtitle = NULL, caption = NULL, tag_levels = NULL, tag_prefix = NULL, tag_suffix = NULL, tag_sep = NULL, theme = NULL)

参数

  • title, subtitle, caption:用于各种绘图注释的文本字符串。
  • tag_levels。一个字符向量,定义在每个级别使用的枚举格式。
  • tag_prefix, tag_suffix。应该出现在标签之前或之后的字符串。
  • tag_sep。不同标签级别之间的分隔符。
  • theme。ggplot的主题规格,用于绘图。只使用与标题以及绘图边缘和背景有关的元素。

例子

使用中的数据。

在R语言中为多个图添加共同的主标题

library("ggplot2")
library("patchwork")
  
gfg_data <- data.frame(x = 1:10,y = 10:1)
  
gfg_plot_1 <- ggplot(gfg_data, aes(x, y)) + geom_point()
gfg_plot_2 <- ggplot(gfg_data, aes(x)) +  geom_density()
gfg_plot_3 <- ggplot(gfg_data, aes(x)) +geom_boxplot()
  
gfg_plot <- (gfg_plot_1 + gfg_plot_2) / (gfg_plot_3 ) + 
plot_annotation(title = "GFG Multiplot") &  theme(plot.title = element_text(hjust = 0.5))
  
gfg_plot

输出

在R语言中为多个图添加共同的主标题

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程