Вручную установите размер шрифта для заголовков осей в функциях графика native-R и решетчатых графиков - PullRequest
0 голосов
/ 23 октября 2018

Я пытаюсь подготовить график для постерной презентации, но меня очень расстраивает то, насколько сложными должны быть простые вещи в 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

Я получаю из этого сообщения, что это из-за конкуренцииаргументы в вызове функции и некоторый многоточие в исходном объекте qqmath.formula, но, безусловно, имеет , чтобы было проще установить размер шрифта заголовков оси, чем перепрограммировать исходную функцию?!

1 Ответ

0 голосов
/ 24 октября 2018

Решетка имеет функции trellis.par.get и trellis.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.Более полный список компонентов и функций, которые можно установить, можно найти на странице 127 в книге «Решетка» Саркара.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...