Learn R Programming

WGCNA (version 1.70-3)

plotColorUnderTree: Plot color rows in a given order, for example under a dendrogram

Description

Plot color rows encoding information about objects in a given order, for example the order of a clustering dendrogram, usually below the dendrogram or a barplot.

Usage

plotOrderedColors(
   order, 
   colors, 
   main = "",
   rowLabels = NULL, 
   rowWidths = NULL, 
   rowText = NULL,
   rowTextAlignment = c("left", "center", "right"),
   rowTextIgnore = NULL,
   textPositions = NULL, 
   addTextGuide = TRUE,
   cex.rowLabels = 1, 
   cex.rowText = 0.8,
   startAt = 0,
   align = c("center", "edge"),
   separatorLine.col = "black",
   ...)

plotColorUnderTree( dendro, colors, rowLabels = NULL, rowWidths = NULL, rowText = NULL, rowTextAlignment = c("left", "center", "right"), rowTextIgnore = NULL, textPositions = NULL, addTextGuide = TRUE, cex.rowLabels = 1, cex.rowText = 0.8, separatorLine.col = "black", ...)

Arguments

order

A vector giving the order of the objects. Must have the same length as colors if colors is a vector, or as the number of rows if colors is a matrix or data frame.

dendro

A hierarchical clustering dendrogram such one returned by hclust.

colors

Coloring of objects on the dendrogram. Either a vector (one color per object) or a matrix (can also be an array or a data frame) with each column giving one color per object. Each column will be plotted as a horizontal row of colors under the dendrogram.

main

Optional main title.

rowLabels

Labels for the colorings given in colors. The labels will be printed to the left of the color rows in the plot. If the argument is given, it must be a vector of length equal to the number of columns in colors. If not given, names(colors) will be used if available. If not, sequential numbers starting from 1 will be used.

rowWidths

Optional specification of relative row widths for the color and text (if given) rows. Need not sum to 1.

rowText

Optional labels to identify colors in the color rows. If given, must be of the same dimensions as colors. Each label that occurs will be displayed once.

rowTextAlignment

Character string specifying whether the labels should be left-justified to the start of the largest block of each label, centered in the middle, or right-justified to the end of the largest block.

rowTextIgnore

Optional specifications of labels that should be ignored when displaying them using rowText above.

textPositions

optional numeric vector of the same length as the number of columns in rowText giving the color rows under which the text rows should appear.

addTextGuide

logical: should guide lines be added for the text rows (if given)?

cex.rowLabels

Font size scale factor for the row labels. See par.

cex.rowText

character expansion factor for text rows (if given).

startAt

A numeric value indicating where in relationship to the left edge of the plot the center of the first rectangle should be. Useful values are 0 if ploting color under a dendrogram, and 0.5 if ploting colors under a barplot.

align

Controls the alignment of the color rectangles. "center" means aligning centers of the rectangles on equally spaced values; code"edge" means aligning edges of the first and last rectangles on the edges of the plot region.

separatorLine.col

Color of the line separating rows of color rectangles. If NA, no lines will be drawn.

Other parameters to be passed on to the plotting method (such as main for the main title etc).

Value

A list with the following components

colorRectangles

A list with one component per color row. Each component is a list with 4 elements xl, yb, xr, yt giving the left, bottom, right and top coordinates of the rectangles in that row.

Details

It is often useful to plot dendrograms or other plots (e.g., barplots) of objects together with additional information about the objects, for example module assignment (by color) that was obtained by cutting a hierarchical dendrogram or external color-coded measures such as gene significance. This function provides a way to do so. The calling code should section the screen into two (or more) parts, plot the dendrogram (via plot(hclust)) or other information in the upper section and use this function to plot color annotation in the order corresponding to the dendrogram in the lower section.

See Also

cutreeDynamic for module detection in a dendrogram;

plotDendroAndColors for automated plotting of dendrograms and colors in one step.