无法将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 默认是以英寸为单位。

相关推荐
泡海椒27 分钟前
jquick-pdf 防止 PDF 内容分页断裂:keepTogether 属性妙用
java·开发语言·pdf
泡海椒3 小时前
jquick-pdf 文本元素实战:段落、行内文本、制表符用法详解
java·开发语言·pdf
SamChan901 天前
Python 处理小语种 PDF 的编码坑:重音字符、连字与 (cid:xx) 乱码的解决方案
python·ai·pdf·机器翻译
微咣科技1 天前
平台化工业AI再突破|大捷智能携手岚图汽车,打造车身焊装智能设计行业标杆
pdf·音视频
我滴老baby1 天前
工业物联网数据库选型:把计算能力放回第一维度
数据库·人工智能·架构·pdf
SamChan901 天前
多栏PDF阅读顺序重建:用Python按坐标聚类还原双栏论文的翻译顺序
python·ai·pdf
浩风祭月1 天前
ChatGPT上传PDF后漏读图表?文字版、扫描件和图片要分开处理
人工智能·chatgpt·pdf·提示词·办公效率
pengzhang1301 天前
在线改 PDF 文字,我把三个网站用同一份文件实测了一遍
pdf·工具·pdf编辑·在线免费·niubai.vip
泡海椒1 天前
告别 iText 繁杂配置:jquick-pdf 极简 PDF 生成实战(零基础上手)
java·开发语言·pdf
Saruka的男朋友2 天前
不上传文件也能转格式?拆解一个纯浏览器端的 EPUB 工具链的设计思路
pdf·epub·eink