使用`R中的`grid.arrange()`修改`effects'包图中的main,axis和axis标签字体大小

时间:2017-06-13 03:44:58

标签: r plot font-size gridextra

我在effects中使用R包来绘制多元线性回归中特定预测变量的响应变量的影响。我试图在单个图像中绘制几个这样的图。

当我绘制其中几个时,主文本和轴文本字体太大,使得无法拟合所有文本(而是我必须使用神秘的数字和缩写,这不是很有帮助)。

我想让主轴,轴和轴标签文字变小。

现在,由于effects包使用lattice生成绘图,我使用格式修改字体大小,即trellis.par.set()。奇怪的是它修改了指定的单个图,但是当它与最后一个命令grid.arrange()一起拉出时,这些值将恢复为默认值。

我对此感到很困惑,并且无法在网上找到解决方案。有什么建议?提前谢谢!

Here <code>trellis.par.set</code> doesn't work. Here `trellis.par.set() works.'

require(gridExtra)
require(lattice)
require(effects)

trellis.par.get()
trellis.par.set(list(par.xlab.text = list(cex=0.5),
                     par.ylab.text = list(cex=0.5),
                     par.main.text = list(col = "blue", cex=0.5)))

logit.plot = plot(Effect(c("LogitABCD.log.std"), logit.item.slope.mod), xlab = "Log Cond. Prob." , ylab = "Log RT", main="A.1 Pos. CP", ylim = c(6.0, 7.5))

logit.neg.plot = plot(Effect(c("LogitABCD.neg.log.std"), logit.neg.item.slope.mod), xlab = "Neg. Log Cond. Prob." , ylab = "Log RT", main="A.2 Neg. CP", ylim = c(6.0, 7.5))

MI.plot = plot(Effect(c("MIABCD.log.std"), MI.item.slope.mod), xlab = "Log MI" , ylab = "Log RT", main="   B.1 Pos. MI", ylim = c(6.0, 7.5))

MI.neg.plot = plot(Effect(c("MIABCD.neg.log.std"), MI.neg.item.slope.mod), xlab = "Neg. Log MI" , ylab = "Log RT", main="   B.2 Neg. MI", ylim = c(6.0, 7.5))

grid.arrange(logit.plot, MI.plot, logit.neg.plot, MI.neg.plot, ncol = 2)

我还尝试通过调整相关post中使用的解决方案来解决问题,但这也不起作用。我所做的是用以下内容为单个绘图制作代码做准备:

newSet = col.whitebg() 
newSet$superpose.symbol$cex = 0.5
newSet$superpose.symbol$col = "blue"

然后在我调用grid.arrange()之后,我插入了以下代码:

pl = list(logit.plot, MI.plot, logit.neg.plot, MI.neg.plot)
do.call(grid.arrange, c(lapply(pl, update, par.settings=newSet), list(nrow=2)))

仍然没有运气。有什么建议吗?

0 个答案:

没有答案