【发布时间】:2018-07-27 13:53:11
【问题描述】:
我正在编写一个基于 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(空设备)”
但这也提供了所需的输出。 Image 1 显示我的初始输出,image 2 现在显示输出,使用相同的代码。可以注意到线条的质量差异,以及主题设置的变化(字体、线条质量)
图片 1:
图 2:
【问题讨论】:
-
最近更新的 R/ggplot2/windows/OSX ?
-
我知道 - 可能并不完全令人满意 - 但可能会使用更常用的字体,尤其是当您想要分发脚本时?
-
@Tjebo 我已经更新了 R,我认为 OSX 和 Windows 计算机的版本不同...以某种方式破坏了我的脚本...一旦修复,如果它有效,将发表评论。感谢您的评论。
-
更新 R + 包没有提供解决方案
-
只是一个疯狂的猜测,当您说使用 windowsFonts(...) 设置字体时 - 您是否尝试过 theme(base_family= windowsFonts(...)) ? (实际上我通常使用非常常见的字体,所以永远不会遇到这样的问题