gpt4 book ai didi

r - 更改ggplot2中的字体

转载 作者:行者123 更新时间:2023-12-03 05:45:36 26 4
gpt4 key购买 nike

曾几何时,我使用 windowsFonts(Times=windowsFont("TT Times New Roman")) 更改了 ggplot2 字体。现在,我无法摆脱它。

在尝试在 ggplot2 theme() 中设置 family="" 时,我似乎无法生成字体更改,因为我用不同的字体系列编译了下面的 MWE。

library(ggplot2)
library(extrafont)
loadfonts(device = "win")

a <- ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point() +
ggtitle("Fuel Efficiency of 32 Cars") +
xlab("Weight (x1000 lb)") + ylab("Miles per Gallon") +
theme(text=element_text(size=16,
# family="Comic Sans MS"))
# family="CM Roman"))
# family="TT Times New Roman"))
# family="Sans"))
family="Serif"))


print(a)
print("Graph should have refreshed")

R 返回警告在 Windows 字体数据库中找不到字体系列,但我正在遵循一个教程(如果我能再次找到它,我将更新此处的链接),该教程说这是正常,不是问题。另外,不知何故,这在某一点上起作用了,因为我的图表曾经使用过某种 arial 或 helvitica 类型的字体。我认为即使在最初的迁移过程中,这也始终是一个当前的警告。

更新

当我运行windowsFonts()时,我的输出是

$serif [1] "TT Times New Roman"

$sans [1] "TT Arial"

$mono [1] "TT Courier New"

但是,这是在我运行 font_import() 之后,所以我只能得出结论,我的字体没有保存在正确的位置。运行 font_import() 请求的代码实际上加载库:

LocalLibraryLocation <- paste0("C:\\Users\\",Sys.getenv("USERNAME"),"\\Documents","\\R\\win-library\\3.2");
.libPaths(c(LocalLibraryLocation, .libPaths()))

最佳答案

我想你刚刚错过了一个初始化步骤。

您可以使用命令windowsFonts()查看可用的字体。例如,当我开始查看这个时,我的看起来像这样:

> windowsFonts()
$serif
[1] "TT Times New Roman"

$sans
[1] "TT Arial"

$mono
[1] "TT Courier New"

安装 extraFont 包并像这样运行 font_import 后(大约需要 5 分钟):

library(extrafont)
font_import()
loadfonts(device = "win")

我还有更多可用的 - 可以说太多了,当然太多了,无法在此列出。

然后我尝试了你的代码:

library(ggplot2)
library(extrafont)
loadfonts(device = "win")

a <- ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point() +
ggtitle("Fuel Efficiency of 32 Cars") +
xlab("Weight (x1000 lb)") + ylab("Miles per Gallon") +
theme(text=element_text(size=16, family="Comic Sans MS"))
print(a)

产生这个:

enter image description here

更新:

您可以使用以下代码片段找到 element_textfamily 参数所需的字体名称:

> names(wf[wf=="TT Times New Roman"])
[1] "serif"

然后:

library(ggplot2)
library(extrafont)
loadfonts(device = "win")

a <- ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point() +
ggtitle("Fuel Efficiency of 32 Cars") +
xlab("Weight (x1000 lb)") + ylab("Miles per Gallon") +
theme(text=element_text(size=16, family="serif"))
print(a)

产量: enter image description here

关于r - 更改ggplot2中的字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34522732/

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