我正在努力找到一种方法来改变R中数字的字体风格和字体大小.我希望所有文本都在SAL 12中的图中.我经常使用cex命令来增加和减少字体,但现在我想要12个字体大小. 我没有使用任何专门的绘图包,而只是使用R基本绘图函数,例如plot().

我try 安装和使用extra字体包,遵循这篇文章:Changing Fonts for Graphs in R,但它给我带来了以下错误.我不明白为什么它说"找不到功能"主题. 我确实安装并加载了该包,并按照帖子中给出的说明进行了操作.

> plot(hfit) +
+ theme(text=element_text(family="Times New Roman", face="bold", 
size=12))
Error in theme(text = element_text(family = "Times New Roman", face 
= "bold",  : 
could not find function "theme"

来自这篇文章:specifying font size in R figures我以为我可以使用par(ps=12)来表示字体大小12,但我不知道如何确切使用这个功能.我try 过这个"plot(hfit,par(ps=12))",但我认为这个代码是错误的. 如果有人能告诉我任何简单的方法来获取亚马尔12中的所有字体.

谢谢你

推荐答案

CSV vs ps

我想知道OP是否直接对cex感兴趣.从?par:

cex一个数字值,给出绘图文本和符号相对于默认值应放大的量.当设备打开时,它从1开始,当布局更改(例如通过设置mfrow)时,它被重置.

听起来他们想以点为单位设置字体大小,听起来更像是ps.从?par:

ps integer;文本(但不包括符号)的点大小.

当然,当需要重置情节标题或任何其他情节元素的放大倍率时,OP确实会对cex感兴趣.在我的机器上,cex为1似乎是12分,因此,cex = 1.5将是18分.

字体系列

OP还希望将字体系列设置为SAL,根据操作系统和设置的不同,语法可能不同.

在Windows上,可以使用windowsFonts()判断默认字体映射:

Windows

windowsFonts()
#> $serif
#> [1] "TT Times New Roman"
#> 
#> $sans
#> [1] "TT Arial"
#> 
#> $mono
#> [1] "TT Courier New"

创建于2024年5月06日,共有reprex v2.1.0

这在我的Windows机器上表明SAL已经映射到sans.

Macintosh / Linux

在Macintosh / Linux上,您可能会使用X11Fonts()来实现此目的:

X11Fonts()
#> $serif
#> [1] "-*-times-%s-%s-*-*-%d-*-*-*-*-*-*-*"
#> 
#> $sans
#> [1] "-*-helvetica-%s-%s-*-*-%d-*-*-*-*-*-*-*"
#> 
#> $mono
#> [1] "-*-courier-%s-%s-*-*-%d-*-*-*-*-*-*-*"
#> 
#> $Times
#> [1] "-adobe-times-%s-%s-*-*-%d-*-*-*-*-*-*-*"
#> 
#> $Helvetica
#> [1] "-adobe-helvetica-%s-%s-*-*-%d-*-*-*-*-*-*-*"
#> 
#> $CyrTimes
#> [1] "-cronyx-times-%s-%s-*-*-%d-*-*-*-*-*-*-*"
#> 
#> $CyrHelvetica
#> [1] "-cronyx-helvetica-%s-%s-*-*-%d-*-*-*-*-*-*-*"
#> 
#> $Arial
#> [1] "-monotype-arial-%s-%s-*-*-%d-*-*-*-*-*-*-*"
#> 
#> $Mincho
#> [1] "-*-mincho-%s-%s-*-*-%d-*-*-*-*-*-*-*"

创建于2024年5月06日,共有reprex v2.1.0

这表明亚马尔映射到亚马尔.

当然,如果尚未映射所需的字体,字体映射可能会变得更加复杂.幸运的是,SAL似乎是一种相当标准的字体.

例如

我想OP可能对看到这样的东西更感兴趣.

请注意,鉴于所有文本似乎大小相同,cex.axis和cex.lab的默认值似乎已经设置为1.我还将其渲染到word文档中以判断字体大小,至少当输出到word时,绘图字体为12磅.

par(ps = 12)

plot(
  pressure, 
  main = "pressure by temperature", 
  family = "sans", # as per my window machine font mappings
  cex.main = 1, # re-set title magnification from 1.5? default
  font.main = 1 # re-set title format to plain from bold default
)

创建于2024年5月06日,共有reprex v2.1.0

R相关问答推荐

这两种创建S4对象的方法有何不同?

如果R上的不同时期之间的值发生了变化,则创建假人

使用long()在dØr中过滤后获取元素数量

有没有方法将paste 0功能与列表结合起来?

如何在R中添加截止点到ROC曲线图?

如何将dygraph调用到R Markdown作为一个shiny 的react 对象的参数?

如何使用R对每组变量进行随机化?

R s iml包如何处理语法上无效的因子级别?'

制作等距离的线串副本

IMF IFS数据以R表示

使用Facet_WRAP时更改框图中线的 colored颜色

2个Rscript.exe可执行文件有什么区别?

如何基于两个条件从一列中提取行

合并后返回列表的数据帧列表

如何在R中通过多个变量创建交叉表?

在另一个包中设置断点&S R函数

从数据创建数字的命名列表.R中的框

有没有办法定制Plot(allEffects())面板标题?

数据集上的R循环和存储模型系数

在同一单元格中创建包含整数和百分比的交叉表