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

如何在ggplot中创建多行垂直排列的纯文本绘图?

用ggplot创建垂直排列的纯文本绘图

完全可以实现,核心思路是给每条文本分配垂直位置,然后隐藏ggplot的所有默认可视化元素(坐标轴、网格、背景等),只保留文本内容。具体操作如下:

  • 给数据集添加位置列,控制文本的垂直堆叠顺序
  • 用geom_text()绘制文本,配合主题设置隐藏多余元素

完整代码示例

library(ggplot2)

# 你的原始数据集
df <- structure(list(new = c("No: 0.91", "Yes: 0.89", "All: 0.84")), 
                row.names = c(NA, -3L), class = c("tbl_df", "tbl", "data.frame"))

# 添加y轴位置列,数值越大位置越靠上
df$y_pos <- seq(nrow(df), 1)

# 创建纯文本绘图
ggplot(df, aes(x = 0, y = y_pos, label = new)) +
  geom_text(size = 5, hjust = 0.5) + # 控制文本大小和水平居中
  theme_void() + # 去掉所有默认元素
  ylim(0, nrow(df) + 1) # 调整y轴范围,避免文本被裁剪

代码说明

  • y_pos列:生成从3到1的序列,让第一条文本(No:0.91)在最上方,最后一条(All:0.84)在最下方,实现垂直堆叠效果。
  • theme_void():直接清空ggplot的背景、坐标轴、网格线等所有非必要元素,只保留绘制的文本。
  • hjust=0.5:让文本在水平方向居中,也可以改成hjust=0左对齐或hjust=1右对齐。

运行这段代码后,就能得到仅包含垂直排列文本的绘图,完全匹配你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 21:45:48