Изменение семейства шрифтов ggplot между версиями

На следующем рисунке вы можете увидеть ту же часть графика ggplot, созданного в двух разных (оконных) машинах. Над каждым графиком я написал версии связанных пакетов. Я не использую параметр font family в вызове ggplot. Почему у меня разные шрифты с самой последней версией? (Изменение напоминает мне о том, что параметр Cleartype имеет сглаживание границ шрифта)

picture

Ответ 1

Вы можете взглянуть на эту страницу, http://wiki.stdout.org/rcookbook/Graphs/Fonts/, для некоторых советов по устранению проблем с шрифтом с помощью ggplot/ggplot2. Также есть пример R script, который будет генерировать таблицу всех отображаемых шрифтов, чтобы вы могли сравнить их немного легче между двумя системами.

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

  ss of font table

УВЕДОМЛЕНИЕ. На самом деле получают только некоторые из шрифтов (Timea, Helvetica, Courier).

Также вы можете проверить extrafont-package. Наконец, этот post показывает, как использовать extrafont-package, чтобы вы выглядели лучше выглядящих шрифтов, отображаемых на вашем выходе.