【问题标题】:ggplot font family change between versionsggplot字体系列在版本之间发生变化
【发布时间】:2012-12-17 16:09:38
【问题描述】:

在下图中,您可以看到 ggplot 图的同一部分,在两台不同的(Windows)机器中创建。在每个图表上方,我都写了相关包的版本。我没有在 ggplot 调用中使用任何 font family 设置。为什么我在最新版本中得到不同的字体? (这个变化让我想起了Cleartype设置对平滑字体边缘的影响)

【问题讨论】:

  • 两台机器运行什么windows版本?而且,你是使用 extrafont 包,还是安装了 GTK 和 Cairo?
  • 实际上它在两个图中看起来像相同的字体,但一个有抗锯齿,一个没有抗锯齿。所以它与你的机器的设置和你的 R 安装有关。
  • 两台机器都运行 Win XP Professional - 版本 2002 - service pack 3。我尝试了 extrafont 但它没有效果,因为它不是不同字体的情况。正如你所说的字体是一样的 - 我认为它是 Arial。我在两台机器上都有 GTK。没有开罗。
  • 这必须取决于不同的抗锯齿设置。请检查控制面板 > 显示设置 > 外观 > 效果 > “屏幕字体的平滑边缘”设置,以及 IE 的菜单工具 > Internet 选项 > 高级选项卡 > “始终使用 ClearType for HTML”。两台机器之间的其中一项或两项设置可能不同。
  • 可能是 -webkit-font-smoothing: 抗锯齿设置。

标签: windows r fonts ggplot2


【解决方案1】:

您可能想查看此页面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","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-package。最后,post 展示了如何使用 extrafont-package 以便您在输出中获得更好看的字体。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-19
    • 2019-04-07
    • 1970-01-01
    • 1970-01-01
    • 2021-10-10
    • 1970-01-01
    相关资源
    最近更新 更多