【问题标题】:Fonts not loading in showtext font_add_google字体未在 showtext font_add_google 中加载
【发布时间】:2020-12-07 17:55:54
【问题描述】:

我正在尝试绘制一些数据,我的代码如下所示:

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 是一种独特的字体,见于here。但是我的可视化字体看起来像这样(这是一个测试图,忽略它的整体劣势):

但如果我加载像 Times New Roman 这样的系统主题,它就可以正常工作。为什么我的 google 字体没有使用 showtext 加载?

编辑

Jrakru 的答案有效,但请记住,您必须运行整个代码块:新字体将出现在保存的 png 文件中,但不会出现在预览窗口中。这并不是针对答案而写的,而是针对像我这样希望字体显示在 RStudio 控制台中并因此省略代码的 ggsavepng 部分的其他人。

【问题讨论】:

  • 在定义字体后尝试加载 ggplot2
  • @Jrakru56 这似乎也不起作用:(除非我误解了你的意思

标签: r ggplot2 showtext


【解决方案1】:

showtext 提到的 GitHub

这个例子应该适用于大多数图形设备,包括 pdf(), png()、postscript() 和屏幕上的设备,例如 windows() Linux 上的 Windows 和 x11()。

如果您真的很难在行之间阅读,这意味着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 用户。

【讨论】:

  • 您的意思是x11 应该可以在选项中定义设备?我试过了,它似乎没有用:(
  • 您使用的是 MacOS 吗?如果是,我认为你们使用quartz
  • 在 Ubuntu 上。更改为 x11 时它仍然不适合我
  • 不,它只是产生了我在问题中创建的相同可视化效果:(
  • showtext github 上创建一个问题可能是值得的。 png()ggsave() 不工作吗?
【解决方案2】:

根据同一篇文档:https://cran.rstudio.com/web/packages/showtext/vignettes/introduction.html

在它的最底部,你可以阅读:

与 RStudio 的兼容性

从 0.9 版本开始,showtext 可以很好地与 RStudio 配合使用 图形设备 (RStudioGD)。只需调用 showtext_auto() 在 RStudio 会话,然后绘图将正确显示。

它在 RStudio 1.3.959 中对我有用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-27
    • 2012-12-26
    • 1970-01-01
    • 2014-09-07
    • 1970-01-01
    • 1970-01-01
    • 2016-10-12
    相关资源
    最近更新 更多