R 主题设置、字体和图形质量在无提示的情况下更改

R 主题设置、字体和图形质量在无提示的情况下更改,r,ggplot2,rstudio,R,Ggplot2,Rstudio,我正在写一个基于dropbox文件夹的脚本,在mac和PC之间工作。有一天,图形不再读取Windows字体数据库,绘图主题也不再应用。我可以使用手动设置字体 windowsFonts(Lato =windowsFont("Lato")) 但它不会修复主题设置,也不会更改指定的字体(注释) 此脚本不可复制,但显示了我的主题设置: data %>% ggplot((aes(x = year, y = sum, group = country_classification, co

我正在写一个基于dropbox文件夹的脚本,在mac和PC之间工作。有一天,图形不再读取Windows字体数据库,绘图主题也不再应用。我可以使用手动设置字体

windowsFonts(Lato =windowsFont("Lato"))
但它不会修复主题设置,也不会更改指定的字体(注释)

此脚本不可复制,但显示了我的主题设置:

data  %>%
      ggplot((aes(x = year, y = sum, group = country_classification, color = country_classification)) +
      geom_line(aes(color = country_classification), lwd = 1.5, alpha=.7) +
      scale_color_gcf(palette = "mixed")+
      theme_bw(base_family = "Lato") +
      xlab("") +
      ylab("")+
      scale_y_continuous(labels = dollar) +
      geom_segment(aes(x = 4, xend = 4, y = 7836967, yend = 2440845), 
                   lty = 2, lwd = .5, colour = "darkgray") +
      annotate("text",x = 3.7, y = 5000000, family = "Lato",
               label = "$5.3M \nDifference \n2018") +
      geom_point(aes(color = country_classification, size = sum), alpha = .7) +
      labs(title = "Annual Disbursement Sums by \nCountry Classification")+
        theme(axis.title = element_text(size = 10)) +
        theme(legend.text = element_text(size = 10)) +
        theme(legend.title = element_text(size = 10)) +
        theme(axis.ticks = element_blank())  +
        theme(panel.border = element_blank()) + 
        theme(axis.line = element_blank()) +
        #theme(panel.grid = element_blank())+
        theme(axis.text.x = element_text(size = 10))
显示以下警告消息:

In grid.Call(C_textBounds, as.graphicsAnnot(x$label),  ... :
  font family not found in Windows font database
dev.off()
导致“dev.off()出错:无法关闭设备1(空设备)”

但这也提供了所需的输出<代码>图像1显示我的初始输出,
图像2
使用相同的代码显示现在的输出。可以注意到行的质量差异,以及主题设置的更改(字体、行质量)

图1:

图2:


它需要一些额外的步骤

首先,使用

extrafont::load_fonts(device = "win")
其次,通过使用ggsave将输出保存为一个单独的文件(我最初是从剪贴板复制的),它允许我指定输出质量

ggsave("file.jpg", dpi = 500)

最近更新的R/ggplot2/windows/OSX?我知道-可能不太令人满意-但可能会使用更常用的字体,尤其是当你想分发脚本时?@Tjebo我更新了R,我认为OSX和windows计算机的版本不同…不知何故破坏了我的脚本…一旦修复,如果它有效,将发表评论。感谢您的评论。更新R+软件包并没有提供解决方案,只是一个猜测,当您说用windowsFonts(…)设置字体有效时-您是否尝试过主题(base_family=windowsFonts(…)?(事实上,我通常使用非常常见的字体,所以从来没有遇到过这样的问题