stereo.profileplot3d {NeatMap} | R Documentation |
Make a stereo rotatable plot depicting the intensity levels of a matrix, while showing the relations between rows in two dimensions and that of the columns in the third. Cluster analysis results for rows and columns may be superposed. Stereo version of profileplot3d
stereo.profileplot3d(pos, profiles, normalize.rows = T, column.order = NULL, row.cluster = NULL, column.cluster = NULL, labels = NULL, col = NULL, color_scaling_function=NULL, point.size = 3, label.colors = NULL, label.size = 0.5,stereo.angle=5) make.stereo.profileplot3d(profiles, row.method = "nMDS", normalize.rows=T, column.method = "average.linkage", row.metric = "pearson", column.metric = "pearson", row.cluster.method = "average", column.cluster.method = "average", point.size = 3, col=NULL, color_scaling_function=NULL, labels = NULL, label.colors = NULL, label.size = 0.5,row.random.seed=NULL,column.random.seed=NULL,stereo.angle=5)
pos |
matrix: the 2d positions for the rows in profiles as produced by any dimensional reduction scheme. |
profiles |
matrix: containing the data to be plotted. |
normalize.rows |
logical: If TRUE, then the rows shall be normalized before plotting. |
column.order |
The ordering of the columns, as would be the case in a typical heatmap, produced using some dimensional reduction scheme. If it is NULL, then the ordering in profiles is used. |
row.cluster |
hierarchical clustering result (of type hclust ), of the rows, for superimposing the clustering result on the 3d profile plot. If it is NULL, no cluster result will be plotted. |
column.cluster |
similar to row.cluster except for the clustering of columns. |
labels |
labels for the rows. If it is set to NULL, no labels will be plotted. |
col |
A list of colors such as that generated by rainbow used in depicting low to high intensities as in a heat-map. |
color_scaling_function |
A function mapping [0:1] onto [0:1] used for scaling the color levels. If Null, linear scaling is performed |
point.size |
The size of intensity points. |
label.colors |
A list of colors used for the row labels |
label.size |
size of row labels. |
stereo.angle |
Difference in perspective angle (in degrees) between the two stereo figures |
row.method |
dimensional reduction method for embedding rows, currently only "PCA" and "nMDS" are supported. |
column.method |
dimensional reduction method for ordering columns. Can be any one of "nMDS", "PCA", "average.linkage" and "complete.linkage". |
row.metric |
the distance function used for row embedding. Can be either "pearson" or "euclidean". |
column.metric |
like row.metric except for columns. |
row.cluster.method |
clustering method used for superposed row cluster. Either "complete.linkage" or "average.linkage". |
column.cluster.method |
like row.metric except for columns. |
row.random.seed |
Random seed to be used if nMDS is used to construct row structure |
column.random.seed |
Random seed to be used in nMDS is used to generate column ordering |
These functions display data in a 3d rotatable stereo format. They are just stereo versions of the functions profileplot3d
and make.profileplot3d
, The xy positions are the result of a 2D embedding of the rows, the profiles for which are shown along the z-axis. stereo.profileplot3d
is the primary function to do this, accepting the results of any dimensional reduction scheme, while make.stereo.profileplot3d
is a convenience function performing both the dimensional reduction (using nMDS or PCA) and then calling profileplot3d
.
The ordering of columns is similar to that for heatmap1
. Thus if PCA or nMDS are used it is assumed that the embedding of columns is annular, and the order used is that of angular positions. The user should confirm that this is indeed the case.
These functions are called for the side-effects they produce
Satwik Rajaram and Yoshi Oono
make.stereo.profileplot3d(mtcars,row.method="PCA",column.method="average.linkage") #is equivalent to mtcars.PCA<-prcomp(mtcars) mtcars.col.cluster<-hclust(dist(t(mtcars)),method="average") mtcars.row.cluster<-hclust(as.dist(1-cor(t(mtcars))),method="average") stereo.profileplot3d(mtcars.PCA$x,mtcars,column.order=mtcars.col.cluster$order, row.cluster=mtcars.row.cluster,column.cluster=mtcars.col.cluster) #use of alternate colors and color scaling make.stereo.profileplot3d(mtcars,row.method="PCA",column.method="average.linkage", col=c("yellow","black","blue"), color_scaling_function=function(x){0.5+tanh(10*(x-0.5))/2})