在下图中,您可以看到在两个不同(
Windows)机器中创建的ggplot图形的相同部分.在每个图上方,我已经编写了相关包的版本.我没有在ggplot调用中使用任何字体系列设置.为什么我得到不同的字体与最新版本? (此更改提醒我Cleartype设置在平滑字体边缘方面的效果)
您可能想看看这个页面,http://wiki.stdout.org/rcookbook/Graphs/Fonts/,有关ggplot / ggplot2处理字体问题的一些提示.还有一个示例R脚本将生成所有字体渲染的表,以便您可以在两个系统之间更容易地比较它们.
make_font_table.R
fonttable <- read.table(header=TRUE,sep=",",stringsAsFactors=FALSE,text=' Short,Canonical,mono,Courier,sans,Helvetica,serif,Times,AvantGarde,Bookman,Helvetica-Narrow,NewCenturySchoolbook,Palatino,URWGothic,URWBookman,NimbusMon URWHelvetica,NimbusSan,NimbusSanCond,CenturySch,URWPalladio URWTimes,NimbusRom ') fonttable$pos <- 1:nrow(fonttable) library(reshape2) fonttable <- melt(fonttable,id.vars="pos",measure.vars=c("Short","Canonical"),variable.name="NameType",value.name="Font") # Make a table of faces. Make sure factors are ordered correctly facetable <- data.frame(Face = factor(c("plain","bold","italic","bold.italic"),levels = c("plain","bold.italic"))) fullfonts <- merge(fonttable,facetable) library(ggplot2) pf <- ggplot(fullfonts,aes(x=NameType,y=pos)) + geom_text(aes(label=Font,family=Font,fontface=Face)) + facet_wrap(~ Face,ncol=2) pf
你可以这样运行它:
% R > source ("make_font_table.R") > pf
注意:只有一些字体(Timea,Courier)实际上被渲染.
此外,您可能想查看extrafont-package.最后这个post显示了如何使用extrafont-package,以便在输出中渲染更好的字体.