-
Notifications
You must be signed in to change notification settings - Fork 231
/
Copy pathdensityHeatmap.Rd
100 lines (90 loc) · 3.8 KB
/
densityHeatmap.Rd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
\name{densityHeatmap}
\alias{densityHeatmap}
\title{
Visualize Density Distribution by Heatmap
}
\description{
Visualize Density Distribution by Heatmap
}
\usage{
densityHeatmap(data,
density_param = list(na.rm = TRUE),
col = rev(brewer.pal(11, "Spectral")),
color_space = "LAB",
ylab = deparse(substitute(data)),
column_title = paste0("Density heatmap of ", deparse(substitute(data))),
title = column_title,
ylim = NULL,
range = ylim,
title_gp = gpar(fontsize = 14),
ylab_gp = gpar(fontsize = 12),
tick_label_gp = gpar(fontsize = 10),
quantile_gp = gpar(fontsize = 10),
show_quantiles = TRUE,
column_order = NULL,
column_names_side = "bottom",
show_column_names = TRUE,
column_names_max_height = unit(6, "cm"),
column_names_gp = gpar(fontsize = 12),
column_names_rot = 90,
cluster_columns = FALSE,
clustering_distance_columns = "ks",
clustering_method_columns = "complete",
mc.cores = 1, cores = mc.cores,
...)
}
\arguments{
\item{data}{A matrix or a list. If it is a matrix, density is calculated by columns.}
\item{density_param}{Parameters send to \code{\link[stats]{density}}, \code{na.rm} is enforced to be \code{TRUE}.}
\item{col}{A vector of colors that density values are mapped to.}
\item{color_space}{The color space in which colors are interpolated. Pass to \code{\link[circlize]{colorRamp2}}.}
\item{ylab}{Label on y-axis.}
\item{column_title}{Title of the heatmap.}
\item{title}{Same as \code{column_title}.}
\item{ylim}{Ranges on the y-axis.}
\item{range}{Same as \code{ylim}.}
\item{title_gp}{Graphic parameters for title.}
\item{ylab_gp}{Graphic parameters for y-labels.}
\item{tick_label_gp}{Graphic parameters for y-ticks.}
\item{quantile_gp}{Graphic parameters for the quantiles.}
\item{show_quantiles}{Whether show quantile lines.}
\item{column_order}{Order of columns.}
\item{column_names_side}{Pass to \code{\link{Heatmap}}.}
\item{show_column_names}{Pass to \code{\link{Heatmap}}.}
\item{column_names_max_height}{Pass to \code{\link{Heatmap}}.}
\item{column_names_gp}{Pass to \code{\link{Heatmap}}.}
\item{column_names_rot}{Pass to \code{\link{Heatmap}}.}
\item{cluster_columns}{Whether cluster columns?}
\item{clustering_distance_columns}{There is a specific distance method \code{ks} which is the Kolmogorov-Smirnov statistic between two distributions. For other methods, the distance is calculated on the density matrix.}
\item{clustering_method_columns}{Pass to \code{\link{Heatmap}}.}
\item{mc.cores}{Multiple cores for calculating ks distance. This argument will be removed in future versions.}
\item{cores}{Multiple cores for calculating ks distance.}
\item{...}{Pass to \code{\link{Heatmap}}.}
}
\details{
To visualize data distribution in a matrix or in a list, we normally use
boxplot or violinplot. We can also use colors to map the density values and
visualize distribution of values through a heatmap. It is useful if you have
huge number of columns in \code{data} to visualize.
The density matrix is generated with 500 rows ranging between the maximun
and minimal values in all densities.
}
\value{
A \code{\link{Heatmap-class}} object. It can oly add other heatmaps/annotations vertically.
}
\seealso{
\url{https://jokergoo.github.io/ComplexHeatmap-reference/book/other-high-level-plots.html#density-heatmap}
}
\author{
Zuguang Gu <[email protected]>
}
\examples{
matrix = matrix(rnorm(100), 10); colnames(matrix) = letters[1:10]
densityHeatmap(matrix)
lt = list(rnorm(10), rnorm(10))
densityHeatmap(lt)
ha = HeatmapAnnotation(points = anno_points(runif(10)),
anno = rep(c("A", "B"), each = 5), col = list(anno = c("A" = "red", "B" = "blue")))
densityHeatmap(matrix, top_annotation = ha)
densityHeatmap(matrix, top_annotation = ha) \%v\% Heatmap(matrix, height = unit(6, "cm"))
}