R中的corner.label和bquote中的字体大小

时间:2017-05-12 20:01:52

标签: r

没有任何谷歌搜索给我答案,所以我希望有人在这里告诉我。

我正在制作一个简单的x-y散点图(实际上它是3x3的一部分),回归方程显示在图表上方。目前,我在图表的右上角有r2值,但字体有点太小。我已经尝试将“cex”添加到角落的每个部分。下面的标签行,但无济于事。建议。

基本上,如何让这个文字更大: corner.label(label = bquote(R ^ 2 ==。(rMay15)),x = 1,y = 1)

example plot

谢谢, 皮特

dev.off()
par(mfrow=c(3,3))    

x <- 1.3 #text size for numbers on axes
z <- 2.0 #text size for labels on axes
y <- .9 #text size for y = mx+b


plot (data$MayKa, data$May15, ylab="May", xlab="", cex.axis=x, cex.lab=z)
lmMay15 <-lm(data$May15~data$MayKa)
rMay15 <- round(summary(lmMay15)$r.squared, digits=2)
corner.label(label=bquote(R^2 == .(rMay15)), x=1,y=1)
summary(lmMay15)$r.squared
abline(lmMay15)
lmMay15 <- round(coef(lmMay15), 2) # extract coefficients 
mtext(bquote(y == .(lmMay15[2])*x + .(lmMay15[1])), 
      adj=0, padj=0, cex=y) # display equation 

1 个答案:

答案 0 :(得分:0)

看起来它们在函数中包含了增加字体大小的选项。但是,我们可以轻松修改代码,以便将cex参数传递给text()。如果您使用我在下面的corner.label2,您可以更改字体大小。

corner.label2 = function (label = NULL, x = -1, y = 1, xoff = NA, yoff = NA, 
          figcorner = FALSE, ...) 
{
  if (is.na(xoff)) 
    xoff <- strwidth("m")/2
  if (is.na(yoff)) 
    yoff <- strheight("m")/2
  par.usr <- par("usr")
  xpos <- par.usr[(3 + x)/2]
  ypos <- par.usr[(3 + y)/2 + 2]
  if (figcorner) {
    par.pin <- par("pin")
    xplotrange <- par.usr[2] - par.usr[1]
    yplotrange <- par.usr[4] - par.usr[3]
    par.mai <- par("mai")
    xmar <- xplotrange * par.mai[3 + x]/par.pin[1]
    ymar <- yplotrange * par.mai[2 + y]/par.pin[2]
    xpos <- xpos + x * xmar
    ypos <- ypos + y * ymar
  }
  if (!is.null(label)) {
    if (figcorner) 
      par(xpd = TRUE)
    text(xpos - x * xoff, ypos - y * yoff, label, adj = c((1 + 
                                                             x)/2, (1 + y)/2), ...)
    if (figcorner) 
      par(xpd = FALSE)
  }
  return(list(x = xpos, y = ypos))
}

plot(1:10, 1:10)
corner.label2("test", cex = 10)

enter image description here