提问人:Michael Schneider 提问时间:9/6/2009 最后编辑:QuintenMichael Schneider 更新时间:10/8/2022 访问量:2522
如何在 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)
答:
7赞
Jonathan Chang
9/6/2009
#1
expression(lab)
实际上并没有评估,所以你最终会得到所有的标签。相反,您可以将该行更改为:lab
lab
text(0.5, 0.5, parse(text=lab), cex=cex, font=font)
这将做你想做的事。请注意,该函数还接受 labels 参数,因此这也有效:pairs
pairs(dat, labels=c(expression(alpha), expression(beta), expression(gamma)))
评论