## # mae.colorBased3dPlotting() - 3d scatter Plot that will generate coding # for groups. # Parameters: # groups - Vector of unique groups # group - Matrix of the group for the rows of data # data - The data matrix # Developer: Shyam ( shyamss@hotmail.com) # Date: 05/29/2003 ## mae.colorBased3dPlotting <- function(groups,group,data, xindex=1,yindex=2,zindex=3, xlabel="PC1", ylabel="PC2", zlabel="PC3",mainTitle, clr=cbind("Yellow","Red","Blue", "Green","Magenta", "Pink","Cyan","Black")) { # mae.colorBased3dPlotting if(!require(scatterplot3d)) { print("library scatterplot3d not installed, install it from CRAN") return; } groups <-as.matrix(groups) group <- as.matrix(group) data <- as.matrix(data) clrLoop <- 0 maxValue <- max(abs(data)) range <- c(-maxValue,maxValue) loop <- 1 for(x in groups) { # x loop clrLoop <- clrLoop+1 if (clrLoop > 8) clrLoop <- 1 boolX <- as.matrix(group[,1]==x) pts <- as.matrix(data[boolX,]) if (loop==1) s3d <- scatterplot3d(pts[,xindex],pts[,yindex],pts[,zindex], color=clr[1,clrLoop],xlab=xlabel,ylab=ylabel, zlab=zlabel,main=mainTitle,pch=20,type="p", box=F,grid=T,xlim= range,ylim=range,zlim=range) else s3d$points3d(pts[,xindex],pts[,yindex],col=clr[1,clrLoop], pch=20,type="p") loop <- loop + 1 # next group } # x loop } # mae.colorBased3dPlotting