Шрифты не загружаются в showtext font_add_google - PullRequest
0 голосов
/ 09 ноября 2018

Я пытаюсь отобразить некоторые данные, и мой код выглядит так:

library('ggplot2')
library('tidyr')
library('ggthemes')
library('showtext')

font_add_google('Syncopate', 'Syncopate')
showtext_auto()

ggplot(aes(x = X, group=1), data = glassdoor)+
  geom_line(aes(y = col1, color = 'red'))+
  geom_line(aes(y = col2, color = 'blue'))+
  geom_line(aes(y = col3, color = 'magenta'))+
  geom_line(aes(y = col4, color = 'yellow'))+
  theme(text = element_text(family = "Syncopate"))+
  ggtitle('A Long Test Title')

Syncopate - отличительный шрифт, видимый здесь . Но шрифт моей визуализации выглядит так (это тестовый график, игнорируйте его общую слабость):

enter image description here

Но если я загружаю системную тему, такую ​​как Times New Roman, она работает нормально. Почему мои шрифты Google не загружаются с использованием showtext?

Редактировать

Ответ Джракру работает, но имейте в виду, что вам нужно запустить весь этот блок кода: новые шрифты появятся в сохраненном файле png, но не в окне предварительного просмотра. Это не написано как незначительное против ответа, а скорее для других, таких как я, которые ожидают, что шрифты появятся в консоли RStudio и поэтому пропускают части кода ggsave и png.

1 Ответ

0 голосов
/ 10 ноября 2018

GitHub для showtext упоминает

Этот пример должен работать на большинстве графических устройств, включая pdf (), png (), postscript () и такие экранные устройства, как windows () на Windows и x11 () в Linux.

Если вы читаете действительно очень трудно между строк, это означает, что графическое устройство RStudioGD не поддерживается. Я не видел, что первые несколько раз я читал это. Я знаю только потому, что vignette немного более явный.

ПРИМЕЧАНИЕ. В настоящее время showtext не работает со встроенной графикой. устройство RStudio, следовательно, чтобы попробовать код ниже, предлагается запустить код в оригинальной консоли R или использовать другие графические устройства, такие как x11 () и windows ()

см https://cran.rstudio.com/web/packages/showtext/vignettes/introduction.html

С помощью вышеуказанных знаний мы можем сделать это:

library('tidyr')
library('ggthemes')
library('showtext')

font_add_google("Schoolbell", "bell")
showtext_auto()

library('ggplot2')

df<- data.frame(x=1:10, y=101:110)

options("device" = "windows")

win.graph(10,10,12)

ggplot(data = df) +
  geom_line(aes(x,y))+
  theme(text = element_text(family = "bell"))+
  ggtitle('A Long Test Title')


ggsave("showtext-example.png", width = 7, height = 4, dpi = 96)

options("device" = "RStudioGD")

И вуаля! enter image description here

PS: Я предположил, что вы windows пользователь.

...