You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在grid.arrange排列的两个ggplot图表之间添加文字?

在ggplot2图表间添加文字的方法

要在两张用grid.arrange排列的ggplot图表中间插入文字,有两种简单实用的方法:

方法一:使用grid::textGrob创建文本对象

直接用grid包的textGrob生成可嵌入的文本元素,和图表一起传入grid.arrange:

library(ggplot2)
library(gridExtra)
library(grid)

# 创建两张示例图表
P1 <- ggplot(mtcars, aes(x = mpg)) +
  geom_histogram()
P2 <- ggplot(mtcars, aes(x = wt)) +
  geom_histogram()

# 创建红色文本对象,可自定义字体大小、颜色等
text_element <- textGrob("这里添加你需要的信息", 
                         gp = gpar(col = "red", fontsize = 12, fontface = "bold"))

# 排列图表和文本
grid.arrange(P1, text_element, P2, ncol = 1)

gpar()参数可以调整文本样式,比如颜色、字号、字体粗细,完全匹配你示例图里的红色文字效果。

方法二:用ggplot创建纯文本"图表"

如果更习惯ggplot语法,可以生成一个仅显示文本的空白图表作为中间元素:

library(ggplot2)
library(gridExtra)

P1 <- ggplot(mtcars, aes(x = mpg)) +
  geom_histogram()
P2 <- ggplot(mtcars, aes(x = wt)) +
  geom_histogram()

# 创建仅含文本的空白图
text_plot <- ggplot() +
  geom_text(aes(x = 0, y = 0), label = "这里添加你需要的信息", 
            color = "red", size = 4.5, fontface = "bold") +
  theme_void() # 去掉所有坐标轴、背景等元素

# 排列三个元素
grid.arrange(P1, text_plot, P2, ncol = 1)

theme_void()能彻底清除图表的多余元素,只保留文字,完美融入排版。

内容的提问来源于stack exchange,提问作者ting_H

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 12:30:54