众所周知,使用R语言ggplot2包绘图时,如果图中存在中文字体的情况,输出pdf矢量图时会乱码,如下所示的这样。
library(ggplot2)
#使用 iris 数据集绘制花瓣长度与宽度的散点图的简单示例
data(iris)
p <- ggplot(data = iris, aes(x = Petal.Length, y = Petal.Width, color = Species)) +
geom_point() +
theme(
panel.grid = element_blank(),
panel.background = element_rect(color = 'black', fill = 'white'),
legend.key = element_blank()) +
labs(x = '花瓣长度', y = '花瓣宽度', color = '物种')
p
#输出 pdf 矢量图
ggsave('p.pdf', p, width = 4.5, height = 3)
解决方案一
上述主要原因是缺少字体库,输出矢量