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

如何修改ggpairs绘图的字体为Times New Roman并调整列内文本大小

R ggpairs图字体及文本大小调整方案

核心问题原因

  • theme_bw()为完整主题模板,会覆盖其之前设置的所有theme参数,原注释的主题配置放在theme_bw()之前,就算取消注释也不会生效
  • ggpairs是多子图拼接的封装图形,内部子图的文本(如下三角的数值、顶部列名)无法仅通过普通ggplot2全局主题配置修改,需要在ggpairs的图层参数中单独调整

修改后完整代码

library(ggplot2)
library(tidyr)
library(GGally)
# 可根据系统调整字体名:Windows默认是"Times New Roman",macOS报错可尝试替换为"Times"
target_font <- "Times New Roman"

ggpairs(
  data = Food,
  mapping = aes(color = "darkorange"),
  columns = 2:4,
  upper = "blank",
  diag = "blank",
  axisLabels = "none",
  # 调整子图内部文本大小,根据实际子图类型调整即可
  # 如下三角为散点图就用points,为相关性系数就用cor,size按需放大
  lower = list(
    continuous = wrap("points", size = 2),
    # 若显示相关性系数,替换上面的配置为:continuous = wrap("cor", size = 5)
    combo = wrap("facetdensity", text_size = 14)
  )
) +
  theme_bw() + 
  scale_color_manual(values = "darkorange") +
  theme(
    # 全局统一设置所有文本的字体
    text = element_text(family = target_font, size = 12),
    # 调整顶部列名文本大小
    strip.text = element_text(size = 14, family = target_font),
    # 调整坐标轴文本大小
    axis.text = element_text(size = 11, family = target_font),
    # 调整标题对齐和大小
    plot.title = element_text(hjust = 0.5, size = 16, family = target_font),
    # 调整底部注释文本大小
    plot.caption = element_text(size = 10, family = target_font)
  ) +
  labs(caption = "Källa: Coop", title = "Sambandet mellan olika produkter")

注意事项

  • 如果运行时报字体找不到的错误,Windows可安装extrafont包,运行extrafont::font_import()导入系统字体,再运行extrafont::loadfonts(device = "win")激活后即可正常调用
  • 所有size参数均可根据需求调整数值,数值越大对应文本越大

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 05:54:02