hv_anndata.plotting.scanpy.heatmap

hv_anndata.plotting.scanpy.heatmap(adata, base=A.X, /, vdims=(), *, transpose=False, add_dendrogram=False)

Shortcut for a heatmap.

Basically just

>>> hv.HeatMap(adata, [A.obs.index, A.var.index], [base[:, :], *vdims]).opts(...)

Set base to e.g. A or A.layers[key], and transpose=True to switch the order of the dims.

If add_dendrogram is True, the dendrogram is added. Call it directly to customize the dendrogram:

>>> hv.operation.dendrogram(heatmap, adjoint_dims=..., main_dim=base[:, :])
Parameters:
adata AnnData

The AnnData object.

base LayerAcc | GraphAcc, default: A.X

The base layer/graph of the heatmap.

vdims Collection[AdDim], default: ()

The value dimensions.

transpose bool, default: False

Whether to transpose the dims.

add_dendrogram bool | Literal['obs', 'var'], default: False

Where to add dendrograms to the heatmap: True for both, "obs"/"var" for one, and False for none.

Return type:

HeatMap

Returns:

A heatmap object

Examples

import hv_anndata.plotting.scanpy as hv_sc
from hv_anndata import data, register, A

register()

adata = data.pbmc68k_processed()
markers = ["C1QA", "PSAP", "CD79A", "CD79B", "CST3", "LYZ"]
hv_sc.heatmap(
    adata[:, markers], A.X, [A.obs["n_counts"]]
).opts(hv.opts.HeatMap(xticks=0, aspect=2))
/home/docs/.local/share/hatch/env/virtual/hv-anndata/STk7F69l/docs/lib/python3.13/site-packages/numba/cpython/hashing.py:477: UserWarning: FNV hashing is not implemented in Numba. See PEP 456 https://www.python.org/dev/peps/pep-0456/ for rationale over not using FNV. Numba will continue to work, but hashes for built in types will be computed using siphash24. This will permit e.g. dictionaries to continue to behave as expected, however anything relying on the value of the hash opposed to hash as a derived property is likely to not work as expected.
  warnings.warn(msg)
import hv_anndata.plotting.scanpy as hv_sc
from hv_anndata import data, register, A

register()

adata = data.pbmc68k_processed()
markers = ["C1QA", "PSAP", "CD79A", "CD79B", "CST3", "LYZ"]
hv_sc.heatmap(
    adata[:, markers], A.X, [A.obs["n_counts"]]
).opts(hv.opts.HeatMap(xticks=0, aspect=2))
import hv_anndata.plotting.scanpy as hv_sc
from hv_anndata import data, register, A

register()

adata = data.pbmc68k_processed()
markers = ["C1QA", "PSAP", "CD79A", "CD79B", "CST3", "LYZ"]
hv_sc.heatmap(
    adata[:, markers], A.X, [A.obs["n_counts"]]
).opts(hv.opts.HeatMap(xticks=0, aspect=2))

With dendrogram:

hv_sc.heatmap(
    adata[:, markers], A.X, [A.obs["n_counts"]], add_dendrogram="obs"
).opts(hv.opts.HeatMap(xticks=0, aspect=2))
hv_sc.heatmap(
    adata[:, markers], A.X, [A.obs["n_counts"]], add_dendrogram="obs"
).opts(hv.opts.HeatMap(xticks=0, aspect=2))
hv_sc.heatmap(
    adata[:, markers], A.X, [A.obs["n_counts"]], add_dendrogram="obs"
).opts(hv.opts.HeatMap(xticks=0, aspect=2))
WARNING:param.LayoutPlot56284: Plotly plotting class for Empty type not found, object will not be rendered.
WARNING:param.LayoutPlot56284: Plotly plotting class for Dendrogram type not found, object will not be rendered.