A heat map is a false color image (basically
image(t(x))
) with a dendrogram added to the left side
and to the top. Typically, reordering of the rows and columns
according to some set of values (row or column means) within the
restrictions imposed by the dendrogram is carried out. See also heatmap
.
heatmap.circular(x, Rowv = NULL, Colv = if (symm) "Rowv" else NULL,
distfun = dist.circular, hclustfun = hclust,
reorderfun = function(d, w) reorder(d, w), add.expr, symm = FALSE,
revC = identical(Colv, "Rowv"), na.rm = TRUE, margins = c(5, 5),
lwid = c(1, 4), lhei = c(1, 4), ColSideColors, RowSideColors,
NAColors = "black", cexRow = 0.2 + 1/log10(nr), cexCol = 0.2 + 1/log10(nc),
labRow = NULL, labCol = NULL, main = NULL, xlab = NULL, ylab = NULL,
keep.dendro = FALSE, annotate.expr, annotate = rep(NA, 4),
verbose = getOption("verbose"), ...)
par(mfrow= *)
or (mfcol= *)
has been called.
numeric matrix of class circular
of the values to be plotted.
determines if and how the row dendrogram should be
computed and reordered. Either a dendrogram
or a
vector of values used to reorder the row dendrogram or
NA
to suppress any row dendrogram (and reordering) or
by default, NULL
, see ‘Details’ below.
determines if and how the column dendrogram should be
reordered. Has the same options as the Rowv
argument above and
additionally when x
is a square matrix, Colv =
"Rowv"
means that columns should be treated identically to the
rows (and so if there is to be no row dendrogram there will not be a
column one either).
function used to compute the distance (dissimilarity)
between both rows and columns. Defaults to dist.circular
.
function used to compute the hierarchical clustering
when Rowv
or Colv
are not dendrograms. Defaults to
hclust
. Should take as argument a result of distfun
and return an object to which as.dendrogram
can be applied.
function(d,w) of dendrogram and weights for
reordering the row and column dendrograms. The default uses
reorder.dendrogram
.
expression that will be evaluated after the call to
image
. Can be used to add components to the plot.
logical indicating if x
should be treated
symmetrically; can only be true when x
is a square matrix.
logical indicating if the column order should be
rev
ersed for plotting, such that e.g., for the
symmetric case, the symmetry axis is as usual.
logical indicating whether NA
's should be removed.
numeric vector of length 2 containing the margins
(see par(mar= *)
) for column and row names, respectively.
a vector of values for the widths of columns on the device.
Relative widths are specified with numeric values. Absolute
widths (in centimetres) are specified with the lcm()
function (see layout
).
a vector of values for the heights of rows on the device.
Relative and absolute heights can be specified, see lwid
above.
(optional) character vector of length ncol(x)
containing the color names for a horizontal side bar that may be used to
annotate the columns of x
.
(optional) character vector of length nrow(x)
containing the color names for a vertical side bar that may be used to
annotate the rows of x
.
the color used to plot missing values.
positive numbers, used as cex.axis
in
for the row or column axis labeling. The defaults currently only
use number of rows or columns, respectively.
character vectors with row and column labels to
use; these default to rownames(x)
or colnames(x)
,
respectively.
main, x- and y-axis titles; defaults to none.
logical indicating if the dendrogram(s) should be
kept as part of the result (when Rowv
and/or Colv
are
not NA).
annotation in the four external side of the figure. A positive value in a position means you want annotate something in that position (1=bottom, 2=left, 3=top, 4=right). For instance, annotate=c(0.1, NA, NA, 1, 1)
means you want to annotate one thing on the bottom with dimension 0.1
and two things on right each with dimension 1
.
must be a list of expressions with the same length as annotate
. For instance for annotate=c(0.1, NA, NA, 1, 1)
you must have something as annotate.expr=list(expr1, NA, NA, expr2, expr2)
where expr1
etc. must be a valid R
expression able to produce a plot.
logical indicating if information should be printed.
additional arguments passed on to image
,
e.g., col
specifying the colors.
Claudio Agostinelli using the code from heatmap
.
If either Rowv
or Colv
are dendrograms they are honored
(and not reordered). Otherwise, dendrograms are computed as
dd <- as.dendrogram(hclustfun(distfun(X)))
where X
is
either x
or t(x)
.
If either is a vector (of ‘weights’) then the appropriate
dendrogram is reordered according to the supplied values subject to
the constraints imposed by the dendrogram, by reorder(dd,
Rowv)
, in the row case.
If either is missing, as by default, then the ordering of the
corresponding dendrogram is by the mean direction value of the rows/columns,
i.e., in the case of rows, Rowv <- rowMeans(x, na.rm=na.rm)
.
If either is NULL
, no reordering will be done for
the corresponding side.
Unless Rowv = NA
(or Colw = NA
), the original rows and
columns are reordered in any case to match the dendrogram,
e.g., the rows by order.dendrogram(Rowv)
where
Rowv
is the (possibly reorder()
ed) row
dendrogram.
heatmap()
uses layout
and draws the
image
in the lower right corner of a 2x2 layout.
Consequentially, it can not be used in a multi column/row
layout, i.e., when par(mfrow= *)
or (mfcol= *)
has been called.