我一直在使用以下指南将使用ggplot
制作的地图导出为pdf:plot fonts guide
它在帖子的底部提出了一些字体没有出现的问题,这在我下面的例子中发生。字体包豪斯93中的文字正确显示,而Calibri中的文字显示不正确。
有没有人找到解决此问题的方法?
library(ggplot2)
library(plyr)
library(grid)
library(gridExtra)
library(extrafont)
data1<-as.data.frame(1:5)
data1[,2]<-as.data.frame(c(1,3,5,7,9))
data1[,3]<-as.data.frame(c(2,4,6,8,10))
colnames(data1)<-c("x","y1","y2")
ggplot(data1, aes(x=x)) +
geom_line(aes(y = y1, colour = "Taux selon DEF"), size=0.61, colour="black") +
geom_line(aes(y = y2, colour = "Taux selon EC"), size=0.61, colour="black", linetype="dashed") +
xlab("X axis lab") + ylab("Y axis lab)") +
annotate("text", x=1, y=4, label="Some text here", size=2, family="Bauhaus 93") +
annotate("text", x=4, y=1, label="More text here", size=2, family="Calibri") +
theme_bw() + theme(legend.title = element_blank(),
legend.key = element_rect(fill=NA),
panel.border = element_blank(),
axis.line = element_line(colour="black", size=0.25),
axis.ticks = element_line(size=0.25),
panel.grid.major = element_line(colour = "grey80", size=0.25),
panel.grid.minor = element_line(colour = "grey80", size=0.25),
axis.text.x = element_text(size=5.5 , lineheight=0.9, hjust=0.5, family="Bauhaus 93"),
axis.text.y = element_text(size=5.5 , lineheight=0.9, vjust=0.5, family="Calibri"),
axis.title.y = element_text(size=6.1, angle=0, vjust=0.975, face="bold", family="Calibri"),
axis.title.x = element_text(size=6.1, angle=0, vjust=-0.20, face="bold", family="Calibri")) +
scale_x_continuous(expand = c(0, 0), limits=c(0,5)) +
scale_y_continuous(expand = c(0, 0), limits=c(0,10)) +
ggtitle("Title") +
ggsave("Test.pdf", width=7, height=5)
Sys.setenv(R_GSCMD = "C:/Program Files (x86)/PDF24/gs/bin/gswin32.exe")
embed_fonts("Test.pdf")
答案 0 :(得分:28)
尝试将device=cairo_pdf
添加到ggsave()
来电。这个出现为我解决问题。这样,就不再需要使用embed_fonts()
。
在此处查看 mgaudet 的评论:https://github.com/wch/extrafont/issues/8