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.html theme_set()theme_get() 可以设置和查询会话的默认主题 主题是一个列表,命名为text 的列表及其family 元素会告诉您想要使用字体名称。您可以在 ggplot 的主题调用中设置它以覆盖该主题的默认值。 在 Windows 中,windowsFonts() 将告诉您字体名称和您安装的系统字体名称之间的映射。不过,我不知道如何在 OS X 或 Linux 平台上执行此操作。 所有平台上的默认值似乎是 serifsansmono

我的主要未决问题是空白姓氏“”映射到什么,因为这通常是主题中的内容。如果未指定任何内容,默认值会以某种方式设置为 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的默认字体是啥的主要内容,如果未能解决你的问题,请参考以下文章

默认的 HTML 字体是啥?

R 的 plot() 中的默认字体是啥?

ipad的默认字体是啥?如果设计在ipad上浏览的网页,应该用多大的字体呢?

希伯来语的默认 iOS 系统字体是啥?

HTML5 中的默认字体颜色是啥?

Android中的默认字体系列是啥?