Шрифты не загружаются в showtext font_add_google
Я пытаюсь отобразить некоторые данные, и мой код выглядит так:
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 - это отличительный шрифт, который можно увидеть здесь. Но шрифт моей визуализации выглядит так (это тестовый график, игнорируйте его общую слабость):
Но если я загружаю системную тему, такую как Times New Roman, она работает нормально. Почему мои шрифты Google не загружаются с использованием showtext?
редактировать
Ответ Jrakru работает, но имейте в виду, что вы должны запустить весь этот блок кода: новые шрифты появятся в сохраненном файле png, но не в окне предварительного просмотра. Это не написано как незначительное против ответа, а скорее для других, таких как я, которые ожидают, что шрифты появятся в консоли RStudio и поэтому опускают ggsave
а также png
части кода.
2 ответа
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")
Ps: я предполагал, что вы windows
пользователь.
согласно тому же документу: https://cran.rstudio.com/web/packages/showtext/vignettes/introduction.html
А в самом низу можно прочитать вот это:
Совместимость с RStudio
Начиная с версии 0.9, showtext может хорошо работать с графическим устройством RStudio (RStudioGD). Просто вызовите showtext_auto() в сеансе RStudio, и тогда графики будут отображаться правильно.
у меня это работало в RStudio 1.3.959