ggplot2的默认字体是啥
Posted
技术标签:
【中文标题】ggplot2的默认字体是啥【英文标题】:What is the default font for ggplot2ggplot2的默认字体是什么 【发布时间】:2016-04-09 04:30:49 【问题描述】:在 R 中使用 ggplot2 时,它显然具有 base_family
字体。它是什么?因为文档只使用“”,如...
?theme_light()
看起来像 ArialMT 但不确定...
【问题讨论】:
嗯windowsFonts()
说了什么?它应该包含默认映射。
在 Mac 上工作,所以目前不可用...
主题很复杂。 docs.ggplot2.org/dev/vignettes/themes.html
windowsFonts()
为您提供到已安装系统字体的映射,但我不清楚当指定主题系列为空时它会选择哪一种 (""
)
看起来Cookbook for R 显示了一些图层文本默认值,包括""
的默认值是sans。
【参考方案1】:
这不是一个完整的答案,但部分内容如下:
主题复杂:http://ggplot2.tidyverse.org/reference/theme.htmltheme_set()
和 theme_get()
可以设置和查询会话的默认主题
主题是一个列表,命名为text
的列表及其family
元素会告诉您想要使用字体名称。您可以在 ggplot 的主题调用中设置它以覆盖该主题的默认值。
在 Windows 中,windowsFonts()
将告诉您字体名称和您安装的系统字体名称之间的映射。不过,我不知道如何在 OS X 或 Linux 平台上执行此操作。
所有平台上的默认值似乎是 serif
、sans
和 mono
。
我的主要未决问题是空白姓氏“”映射到什么,因为这通常是主题中的内容。如果未指定任何内容,默认值会以某种方式设置为 sans
,因为它看起来就是这样。
我也不知道如何替换theme_gray()
中的默认字体系列。觉得是时候提问了……
> theme_get()$text
List of 10
$ family : chr ""
$ face : chr "plain"
$ colour : chr "black"
$ size : num 11
$ hjust : num 0.5
$ vjust : num 0.5
$ angle : num 0
$ lineheight: num 0.9
$ margin :Classes 'margin', 'unit' atomic [1:4] 0 0 0 0
.. ..- attr(*, "unit")= chr "pt"
.. ..- attr(*, "valid.unit")= int 8
$ debug : logi FALSE
- attr(*, "class")= chr [1:2] "element_text" "element"
以及windows中的系统字体映射:
> windowsFonts()
$serif
[1] "TT Times New Roman"
$sans
[1] "TT Arial"
$mono
[1] "TT Courier New"
>
一个例子:
library(ggplot2)
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"))
【讨论】:
我认为您可以像这样更改默认字体:theme_set(theme_get() + theme(text = element_text(family = 'Open Sans')))
答案开头的链接坏了
哦,谢谢。现在,如果我能记住它是什么就好了:)
Linux中windowsFonts()
的等价物是X11Fonts()
。【参考方案2】:
如果您导出使用 ggplot2 创建的图形(使用 RStudio:导出 -> 复制到剪贴板)并将其加载到图形编辑器中,您可以选择和编辑图形的各个方面,包括文本。
使用 Inkscape,我所有 ggplot2 绘图的默认字体都是 Arial。
【讨论】:
我认为它实际上是“sans”,在许多系统上默认为 Arial,但这实际上取决于操作系统和设置,在 Linux 上,ggplot 会从 fontconfig 中检索默认的 sans 我猜(这将在典型的 Linux 系统上返回 Bitstream Vera Sans 或 Deja Vu Sans)。 另一种选择是将ggsave
设置为svg
,然后在文本编辑器中加载。搜索 <text
元素的 font-family
值以上是关于ggplot2的默认字体是啥的主要内容,如果未能解决你的问题,请参考以下文章