在ggplot2中更改默认字体

3

这是一系列问题。我想要更改ggplot2中的默认字体,最简单的方法是更改theme_gray中的默认字体族。

但我不知道如何操作。我可以执行以下操作:

> theme_set(theme_gray(base_size = 18))

但我做不到这一点:

> theme_set(theme_gray(family="mono"))
Error in theme_gray(family = "mono") : unused argument (family = "mono")

当我查看帮助文档时,我想知道是否应该使用theme_update,因为我只改变了一个成员。然后我看到它在“另请参阅”下也提到了:

%+replace% and +.gg

我在想我是否应该使用那些替代品。当然,我也无法让它们起作用...

那么什么是有效的呢?更重要的是,在快速变化的 ggplot2 世界中,应该使用什么来跟上步伐?


我猜测这个踩是想让我关闭这个问题,尽管我希望能够获得一些关于运算符的见解。 - Mike Wise
2
这是我个人认为非常重要的问题。 - stevec
2个回答

4

文档 现已更新。您可以使用base_family来设置字体。

p <- ggplot(mtcars) + geom_point(aes(x = wt, y = mpg,
                                     colour=factor(gear))) + facet_wrap(~am)

p + theme_gray(base_family = "mono")

1
那也不是问题的关键。 - Mike Wise
3
@MikeWise 该回答解答了你的问题的一部分,因为你说你遇到了以下错误:Error in theme_gray(family = "mono") : unused argument (family = "mono")。正确的参数应该是 base_family。不过,这是否是“最佳”方式,那就是个人口味的问题了。 - asachet
True可能是答案的一部分。但是使用哪一个并不是品味问题,而是关于包的未来意图的问题。由于有如此多的重复功能,我敢打赌其中一些注定要被丢进垃圾箱,正如我的问题所暗示的那样。因此,我给它点了赞。 - Mike Wise

4
你可以通过包extrafont获取许多字体,并按以下方式使用它:
library(extrafont)
p + theme(title = element_text(family = 'Helvetica')) # whatever font you want

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接