Skip to content

pairs(), expression in label and color in text.panel

2 messages · Johannes Radinger, Uwe Ligges

#
Hello,

I'd like to add custom labels to my pair() plot. These
labels include math expression but they aren't correctly
displayed...

Further, I want that the boxes for the text.panel (diagonal)
have an other background color (grey80). Is that generally 
possible? If yes how do I have to set it?

What I've so far is:


panel.cor <- function(x, y, digits=2, prefix="", cex.cor)
{
	usr <- par("usr"); on.exit(par(usr))
	par(usr = c(0, 1, 0, 1))
	r <- abs(cor(x, y))
	txt <- format(c(r, 0.123456789), digits=digits)[1]
	txt <- paste(prefix, txt, sep="")
	if(missing(cex.cor)) cex <- 0.5/strwidth(txt)
	
	test <- cor.test(x,y)
	# borrowed from printCoefmat
	Signif <- symnum(test$p.value, corr = FALSE, na = FALSE,
			cutpoints = c(0, 0.001, 0.01, 0.05, 0.1, 1),
			symbols = c("***", "**", "*", ".", " "))
	
	text(0.5, 0.5, paste(txt,Signif), cex = 2)
}

#correlation pair plot
pairs(df, labels=c(expression(alpha),"text",expression(beta)), lower.panel=panel.smooth, upper.panel=panel.cor)


Maybe someone knows how to do that and can give some hints...

/Johannes

--
1 day later
#
On 24.11.2011 15:59, Johannes Radinger wrote:
Looks fine for me in R-2.14.0 on the windows() device (alpha, text, 
beta). (Both version and device you used are unspecified)
Not easily without changing the original code, I think, but you can cheat:

pairs(iris, labels = expression(alpha, "text", beta),
     lower.panel=panel.smooth, upper.panel=panel.cor,
     diag.panel = function(...)
         rect(par("usr")[1], par("usr")[3],
              par("usr")[2], par("usr")[4], col="grey80")
)


Best,
Uwe Ligges