无法将ggplot图保存为PDF文件怎么办

serif代表Times New Roman字体,sans代表Arial字体,mono代表Courier New字体。这种映射关系在基础绘图系统和ggplot2系统中均可使用。

既然字体找不到,那么就导入我们电脑的字体咯:

复制代码
# 这个代码只需运行一次
extrafont::font_import()

然后你就会看到大量的字体,被从内置区域,搬运到R 目录下

然后就是在保存之前,加载字体

extrafont::font_import()

extrafont::loadfonts()

使用 ggsave 函数ggplot2 提供了 ggsave 函数来保存图形。确保你使用了正确的语法:

R 复制代码
ggsave("plot.pdf", plot = your_plot_object, device = "pdf")

检查图形设备:在某些情况下,图形设备可能没有正确打开或关闭。你可以尝试显式地打开和关闭设备:

复制代码
pdf("plot.pdf")
print(your_plot_object)
dev.off()

CairoPDF() 是一个替代方案,它更好地处理了字体渲染和跨平台问题。为确保 CairoPDF 正常工作,请确保正确使用单位并且关闭图形设备 (dev.off())。

正确使用 CairoPDF() 保存图像

复制代码

r

Copy code

# 使用 CairoPDF 保存图像 Cairo::CairoPDF("1.5Merge_volcano_gene_plot.pdf", width = 4, height = 3.5) # 绘制您的图形 print(p) # 关闭设备 dev.off()

关键点:
  • 确保在使用 CairoPDF 或其他 Cairo 设备时,调用 print(p) 以实际生成图形。
  • 最后调用 dev.off() 来关闭图形设备,确保文件正确保存。

关于单位:

CairoPDF() 并不需要 units='in' 这种参数,因为 widthheight 默认是以英寸为单位。

相关推荐
Felicia-侧听11 小时前
如何统一PDF页面宽度?统一pdf宽度的2种方法
pdf·pdf宽度统一
开开心心_Every11 小时前
音频格式互转工具,支持Mp3ApeWavFlac互转
linux·运维·服务器·typescript·edge·pdf·asp.net
2501_9307077811 小时前
如何使用C#代码从 PDF 中提取表格并另存为Excel文件
pdf·excel
悟乙己11 小时前
实施手册:如何自己构建财务PDF文件内容抽取引擎
pdf
xin_yao_xin12 小时前
PDF 转 图片(python)
python·pdf
汤姆百宝箱1 天前
2026新版教材电子课本1-9年级新教材PDF(完整电子版下载)
pdf·小学课本·初中课本·电子教材·电子课本·2026新教材·2026新课本
开开心心就好1 天前
内存清理软件灵活设置,自动阈值快捷键清
运维·服务器·windows·pdf·harmonyos·risc-v·1024程序员节
海兰1 天前
【接上篇】多格式文档支持扩展方案(PDF_Word_Excel)
pdf·word·excel
鸿乃江边鸟1 天前
用 oh-my-opencode 写一个word转pdf skill
pdf·大模型·opencode
软件资深者2 天前
2026 版初中几何辅助线教材 PDF|打印即提分,中考几何 “分水岭” 一键通关
学习·数学·pdf·教学·初中数学