############################################################################################################## # # Plot a matrix of single scatterplots of several quantitative variables # # Last review: 17/06/2018 # email: ja@fct.unl.pt # ############################################################################################################## ############################################################################################################## varlistindex <- c(5:11) nclassesHIST <- 10 sizePOINTS <- 0.8 smooth=FALSE titleGRAPH <- "Matriz de diagramas de dispersão" ############################################################################################################## # # Duplicate gtd -> gtdnew # gtdnew <- data.frame(gtd[,varlistindex]) names(gtdnew)=names(gtd)[varlistindex] nvar=length(varlistindex) # # Calculations and graphics # par(mfrow=c(nvar,nvar),mar=c(2.5,2.5,1,1), oma=c(0,0,2,0), mgp=c(1.0, 0.8, 0)) for (i in 1:nvar) { for (j in 1:nvar) { if (i == j) { minvar <- min(gtdnew[,i]) maxvar <- max(gtdnew[,i]) minX <- minvar-0.25*(maxvar-minvar) maxX <- maxvar+0.25*(maxvar-minvar) classint <- c(seq(minvar,maxvar,by=(maxvar-minvar)/nclassesHIST)) hist (gtdnew[,i], breaks=classint, las=1, freq = TRUE, xlim=c(minX,maxX), col=rgb(0.5,0.5,0.5,0.5), main="", xlab="", ylab="", cex.main=1.0, cex.sub=0.5, cex.lab=1.0, cex.axis=1.0) text (maxX,0,pos=3,paste(names(gtdnew)[i]),cex=1) } else { if (smooth) { smoothScatter(gtdnew[,i], gtdnew[,j],colramp=colorRampPalette(c("white","blue","green","yellow","red")), main="", xlab="", ylab="") } else { plot(gtdnew[,i], gtdnew[,j], col=rgb(0,0,1,0.5), pch=16, cex=sizePOINTS, main="", xlab="", ylab="", cex.main=1.0, cex.sub=0.5, cex.lab=1.0, cex.axis=1.0) } } } } mtext(titleGRAPH,side=3,cex=1.5,outer=TRUE)