使用ggsave搭配device=cairo_pdf导出PDF时文字间距不一致问题求助
解决ggplot2导出PDF文字间距异常问题
以下是几种可行的解决方案:
指定嵌入字体
macOS系统中,Cairo导出PDF时对默认字体的渲染容易出现字距异常。明确指定系统兼容的字体(如Helvetica)并开启字体嵌入,可解决该问题:library(ggplot2) gg <- ggplot(iris, aes(x=Petal.Width, y=Species)) + geom_point() + theme( axis.text.y=element_text(size=5, family="Helvetica") ) gg ggsave('~/Dropbox/issueGgsave.pdf', width=60, height=105, units='mm', device=cairo_pdf, embed_fonts=TRUE)更换导出设备
改用ragg包的PDF导出设备,它对字体渲染的兼容性更好,能避免Cairo的字距问题:
先安装ragg包:install.packages("ragg")执行导出:
ggsave('~/Dropbox/issueGgsave.pdf', width=60, height=105, units='mm', device=ragg::agg_pdf)调整字体渲染参数
在element_text中设置lineheight和kerning参数,强制规范字距与行高:theme( axis.text.y=element_text(size=5, family="Helvetica", lineheight=1, kerning=TRUE) )
内容的提问来源于stack exchange,提问作者francoiskroll
相关产品推荐
相关产品推荐

