无法将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' 这种参数,因为 width 和 height 默认是以英寸为单位。

相关推荐
原子延迟16 小时前
iLovePDF免费吗?不限次数的PDF压缩5款(2026)
图像处理·人工智能·计算机视觉·pdf
2601_9654542316 小时前
AI视频制作:券商研报怎么转口播视频:PDF 解读、配音和图表自动成片的方法
人工智能·pdf·音视频
reasonsummer1 天前
【办公类-53-12】20261016(预测)Python模仿制作2026学年第二学期校历(excel+pdf,上下学期都包含)
pdf·excel
开开心心就好1 天前
多份文档怎么批量打印?支持多种格式
java·服务器·开发语言·pdf·ocr·散列表·启发式算法
开开心心就好1 天前
文件被占用删不掉?解锁工具强制删除
java·运维·服务器·开发语言·前端·pdf·ocr
BD_Marathon1 天前
PyPDFLoader和MinerU加载pdf文件
pdf
ydjs678899-bot2 天前
如何在Java中打印pdf静默打印和打印对话框选择
java·python·pdf
SamChan902 天前
PDF 翻译后 1,250 变成 1.250,是错了吗?用 Python 核对数字格式
python·pdf·ocr·数据校验·文档翻译
开开心心就好3 天前
打印机卡住打不了?一键清理卡死打印队列
服务器·开发语言·算法·pdf·ocr·idea·visual studio code
打工仔折腾 AI3 天前
在线PDF工具隐私焦虑?把BentoPDF部署到极空间NAS本地处理
人工智能·后端·python·pdf·ai agent 实战