gpt4 book ai didi

r - ggplot2 ggsave : keep embedded fonts in exported . png

转载 作者:行者123 更新时间:2023-12-02 04:29:24 26 4
gpt4 key购买 nike

许多人都遇到过自定义字体出现在 ggplot 中但在使用 ggsave 导出时消失的问题。 ,但我只找到了用于导出 pdf 的解决方案(例如 ggplot embedded fonts in pdf )。我正在尝试导出为 png。这以前对我来说效果很好,所以不确定发生了什么。

刚刚更新了所有内容,但没有解决问题 - R 版本为 3.5.0; RStudio 为 1.1.453;在 macOS Sierra 上。

这两项工作都可以将字体添加到绘图中:

1:

if (!require(showtext)) {
install.packages("showtext", repos = "http://cran.utstat.utoronto.ca/")
require(showtext)
}
font_add_google("Karla", "karla") # Add nice google font
showtext_auto() # Tell R to use showtext to render google font

2:
if (!require(extrafont)) {
install.packages("extrafont", repos = "http://cran.utstat.utoronto.ca/")
require(extrafont)
}
font_import(pattern = "Karla")

我是如何绘制它的:
theme_map <- function(...) {
theme_minimal() +
theme(
text = element_text(family = "Karla", color = "#22211d"),
panel.grid.minor = element_blank(),
panel.grid.major = element_blank(),
plot.background = element_rect(fill = "#f5f5f2", color = NA),
panel.background = element_rect(fill = "#f5f5f2", color = NA),
legend.background = element_rect(fill = "#f5f5f2", color = NA),
panel.border = element_blank(), # infuriatingly doesn't work but that's unrelated
aspect.ratio = 9 / 16, # 16:9 aspect ratio
...
)
}

data(iris)

p <- ggplot() + geom_point(data=iris, aes(x=iris$Sepal.Length, y=iris$Sepal.Width)) + labs(title="Font Pls") + theme_map()

plot(p)

ggsave("iris.png", p, device="png")
ggsave("iris.png", p, device="png", type="cairo") # does not produce an error but also doesn't produce a .png file
ggsave("iris.png", p, device="cairo-png") # also does not produce an error but also doesn't produce a .png file

我在 RStudio 中看到的 (并想保存):
RStudio plot with Karla! :)

使用 ggsave 保存的内容:
这是用 ggsave吐出来的,即使使用其他地方提供的解决方案,如 type = "cairo-png"type = "cairo" . (添加其中任何一个只会产生错误,根本不会保存绘图。)不确定它是否相关(尽管可能是),但 ggsave 似乎也忽略了标题、轴、等等。

ggsave without Karla font >:(

如果它在那里,我很高兴使用非 ggsave 解决方案。我有数百张图像需要以这种格式导出,因此“将其导出为 pdf 然后另存为 png”不是一个选项。

最佳答案

绝对不是一个完整的答案,但我已经能够通过重新启动 R 来解决这个问题,然后只加载我的绘图、绘图和保存所需的 ggplot2 和 scales 库。所以还有一些我正在使用的其他软件包会干扰 ggsave。

关于r - ggplot2 ggsave : keep embedded fonts in exported . png,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50558050/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com