繁体   English   中英

如何在R中的一对图的对角线上打印希腊字母?

[英]How do I print greek letters on the diagonal of a pairs plot in R?

我想在R中创建一个对图,在对角线上将标签写成希腊字母。 我尝试创建一个自定义text.panel函数,该函数将标签包装在expression()调用中,但这不起作用。

这是一个简单的测试用例:

pairs.greek <- function(x, ...)
{
  panel.txt <- function(x, y, labels, cex, font, ...)
  {
    lab <- labels
    text(0.5, 0.5, expression(lab), cex=cex, font=font)
  }
  pairs(x, text.panel=panel.txt)
}
dat <- data.frame(alpha=runif(10), beta=runif(10), gamma=runif(10))
pairs.greek(dat)

expression(lab)实际上并不评估lab因此最终所有标签都是lab 相反,您可以将该行更改为:

text(0.5, 0.5, parse(text=lab), cex=cex, font=font)

这将做你想要的。 请注意, pairs函数还接受一个labels参数,因此也可以使用:

pairs(dat, labels=c(expression(alpha), expression(beta), expression(gamma)))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM