【发布时间】:2020-11-25 09:15:32
【问题描述】:
在我的报告中,我正在尝试将图表中包含文本的所有标签或任何内容更改为 Montserrat 字体。我按照website 上的说明操作了谷歌字体,因为我不认为蒙特塞拉特字体已经在 Rmarkdown 中。我可能是错的。无论如何,我按照说明进行操作,以便我的 ggplot 图中的文本是蒙特塞拉特。我从 google 下载了 Montserrat 文本并将其放在 Mac 上的 Font Book 中,这是我在 Rmarkdown 中使用的代码。
library(sysfonts)#for fonts
#Adding Font
font_add_google("Montserrat")
ggplot(chart2[-(nrow(chart2)),], aes(x = Garagen, y =Summe_Einnahmen_April))+
geom_bar(stat = "identity")+
labs(title = "Summe Einnahmen für Juli", xlab = "Garagen", y = "Summe Einnahmen")+
theme(axis.text.x = element_text(angle = 90))+
theme(legend.position = "none")+
theme(legend.position = "none", text = element_text(family = "Montserrat"))
当我运行此代码时,我没有收到任何投诉,也没有错误消息,但是当我尝试将报告合并为 pdf 时,我收到以下错误消息:
grid.Call.graphics 中的错误(C_text, as.graphicsAnnot(x$label), x$x, x$y, : invalid font type Calls: ... drawDetails -> drawDetails.text -> grid.Call .graphics 另外:有 50 个或更多警告(使用 warnings() 查看前 50 个)执行停止
此错误消息显示在 Rmarkdown 选项卡中,因此我转到控制台并键入 warnings() 并没有得到任何结果。如果有更简单的方法可以让蒙特塞拉特文本成为默认文本,那么我肯定会感兴趣,或者欢迎任何其他帮助。
如果有帮助,这里是我的 YAML
---
title: "Template"
output:
pdf_document: default
html_document:
df_print: paged
header-includes:
- \usepackage{colortbl}
- \usepackage{titling}
- \pretitle{\begin{center}
\includegraphics[width=2in,height=2in]{logo.jpg}\LARGE\\}
- \posttitle{\end{center}}
---
我也刚刚意识到我的文本中有德语字母。我不知道这是否也很重要。
【问题讨论】:
-
直接从控制台运行代码是否有效? PS。您可以使用 geom_col 代替 geom_bar(stat = "identity")
-
是的,当我从控制台运行它时,一切正常。我不知道为什么会出现问题,但我找到了一种更简单的方法。我会告诉它我的答案。感谢您的提示!
标签: r ggplot2 yaml knitr google-fonts