Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rmarkdown不会将蒙特塞拉特字体转换为PDF_R_Ggplot2_Yaml_Knitr_Google Fonts - Fatal编程技术网

Rmarkdown不会将蒙特塞拉特字体转换为PDF

Rmarkdown不会将蒙特塞拉特字体转换为PDF,r,ggplot2,yaml,knitr,google-fonts,R,Ggplot2,Yaml,Knitr,Google Fonts,在我的报告中,我试图将所有标签或图表中的任何文字更改为蒙特塞拉特字体。我按照谷歌字体的说明操作,因为我不认为蒙特塞拉特字体已经在Rmarkdown中了。我可能错了。不管怎样,我按照指示去做,这样我的ggplot图中的文本就是蒙特塞拉特。我从谷歌下载了蒙特塞拉特文本,并将其放在Mac上的字体簿中,下面是我在Rmarkdown中使用的代码 library(sysfonts)#for fonts #Adding Font font_add_google("Montserrat")

在我的报告中,我试图将所有标签或图表中的任何文字更改为蒙特塞拉特字体。我按照谷歌字体的说明操作,因为我不认为蒙特塞拉特字体已经在Rmarkdown中了。我可能错了。不管怎样,我按照指示去做,这样我的ggplot图中的文本就是蒙特塞拉特。我从谷歌下载了蒙特塞拉特文本,并将其放在Mac上的字体簿中,下面是我在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,:无效的字体类型调用:…drawDetails->drawDetails.text->grid.Call.graphics另外:有50个或更多的警告(使用warnings()查看前50个)执行已停止

此错误消息显示在Rmarkdown选项卡中,因此我转到控制台并键入warnings(),但什么也没有得到。如果有更简单的方法将Montserrat文本作为默认文本,那么我肯定会感兴趣,或者欢迎任何其他帮助

如果有用的话,这里是我的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}} 
  
---

我还刚刚意识到我的文本中有德语字母。我不知道这是否也很重要。

我在网上研究了蒙特塞拉特需要什么乳胶包。只需将下面的包添加到我的yaml部分,我就可以在我的Rmarkdown报告中以蒙特塞拉特的身份获得所有文本

- \usepackage[defaultfam,tabular,lining]{montserrat}
注意,我也不再需要下面的代码了

#Adding Font
font_add_google("Montserrat")

 theme(legend.position = "none", text = element_text(family = "Montserrat"))


但是,我不确定是否仍有必要像我在问题部分的网站上所说的那样安装cairo和Quartz。

当您直接从控制台运行代码时,代码是否有效?PS。您可以使用geom_col而不是geom_bar(stat=“identity”)是的,当我从控制台运行它时,一切都正常。我不知道为什么会出现问题,但我找到了一个更简单的方法。我将显示我的答案。谢谢提示!
#Adding Font
font_add_google("Montserrat")

 theme(legend.position = "none", text = element_text(family = "Montserrat"))