在下面的图片中,您可以看到在两个不同的(Windows)机器中创build的ggplotgraphics的相同部分。 在每张图上方,我已经写了相关软件包的版本。 我没有在ggplot调用中使用任何font family
设置。 为什么使用最新的版本获得不同的字体? (这个改变让我想起了Cleartype
设置在平滑字体边缘的效果)
你可能想看看这个页面, http: //wiki.stdout.org/rcookbook/Graphs/Fonts/,关于处理与ggplot / ggplot2字体问题的一些技巧。 还有一个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","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,Helvetica,Courier)实际上被渲染。
你也可能想看看extrafont包 。 最后,这篇文章演示了如何使用extrafont包,以便在输出中获得更好的字体效果。