在native-R图和点阵图函数中手动设置轴标题的字体大小

时间:2018-10-23 01:56:13

标签: r

我正在尝试为海报展示准备图表,但是plot中应该变得如此简单的困难让我非常沮丧。我想从混合效应模型中绘制残差的qq图。我要做的就是更改轴标题的字体大小

。这是一个可复制的示例。

library(lme4)
library(lattice)



fm1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy)

qqmath(fm1,
       main = list("QQ-Plot", cex = 2),
       id=0.05, 
       cex = list(x = 2),
       scales = list(x = list(cex = 2), y = list(cex = 2)))

一切正常。但是当我尝试增加轴标题的字体大小

qqmath(fm1,
       main = list("QQ-Plot", cex = 2),
       xlab = list("x-axis", cex = 2),
       id=0.05, 
       cex = list(x = 2),
       scales = list(x = list(cex = 2), y = list(cex = 2)))

我明白了

Error in qqmath.formula(x = ~x, ylab = "Standardized residuals", xlab = "Standard normal quantiles",  : 
  formal argument "xlab" matched by multiple actual arguments

我从this帖子中收集到,这是由于函数调用中的竞争参数以及原始qqmath.formula对象中的省略号引起的,但是肯定有 比重新编程原始功能更简单的方法来设置轴标题的字体大小?!

1 个答案:

答案 0 :(得分:1)

晶格系统具有函数trellis.par.gettrellis.par.set,可用于控制xlab和ylab组件的字体大小:

?trellis.par.get
 names( trellis.par.get() )
 trellis.par.set(par.ylab.text=list(cex=.5))
 qqmath(fm1,
       main = list("QQ-Plot", cex = 2),       id=0.05, 
       cex=list(left=.55,bottom=.5), 
       scales = list(x = list(cex = 1), y = list(cex = 1)))

...减小ylab的大小。您可以在Sarkar的“ Lattice”一书的第127页的图表中找到更完整的组件和功能列表。