ehrapy.plot.embedding_density(adata, basis='umap', key=None, groupby=None, group='all', color_map='YlOrRd', bg_dotsize=80, fg_dotsize=180, vmax=1, vmin=0, vcenter=None, norm=None, ncols=4, hspace=0.25, wspace=None, title=None, show=None, save=None, ax=None, return_fig=None, **kwargs)[source]#

Plot the density of observations in an embedding (per condition).

Plots the gaussian kernel density estimates (over condition) from the output. This currently does not support extracted medcat entities.

  • adata (AnnData) – AnnData object object containing all observations.

  • basis (str) – The embedding over which the density was calculated. This embedded representation should be found in adata.obsm[‘X_[basis]’]`.

  • key (str | None) – Name of the .obs covariate that contains the density estimates. Alternatively, pass groupby.

  • groupby (str | None) – Name of the condition used in tl.embedding_density. Alternatively, pass key.

  • group (str | list[str] | None) – The category in the categorical observation annotation to be plotted. If all categories are to be plotted use group=’all’ (default), If multiple categories want to be plotted use a list (e.g.: [‘G1’, ‘S’]. If the overall density wants to be ploted set group to ‘None’.

  • color_map (Colormap | str) – Matplolib color map to use for density plotting.

  • bg_dotsize (int | None) – Dot size for background data points not in the group.

  • fg_dotsize (int | None) – Dot size for foreground data points in the group.

  • vmin (int | None) – The value representing the lower limit of the color scale. Values smaller than vmin are plotted with the same color as vmin. vmin can be a number, a string, a function or None. If vmin is a string and has the format pN, this is interpreted as a vmin=percentile(N). For example vmin=’p1.5’ is interpreted as the 1.5 percentile. If vmin is function, then vmin is interpreted as the return value of the function over the list of values to plot. For example to set vmin tp the mean of the values to plot, def my_vmin(values): return np.mean(values) and then set vmin=my_vmin. If vmin is None (default) an automatic minimum value is used as defined by matplotlib scatter function. When making multiple plots, vmin can be a list of values, one for each plot. For example vmin=[0.1, ‘p1’, None, my_vmin]

  • vmax (int | None) – The value representing the upper limit of the color scale. The format is the same as for vmin.

  • vcenter (int | None) – The value representing the center of the color scale. Useful for diverging colormaps. The format is the same as for vmin. Example:, color=’TREM2’, vcenter=’p50’, cmap=’RdBu_r’)

  • ncols (int | None) – Number of panels per row.

  • wspace (None) – Adjust the width of the space between multiple panels.

  • hspace (float | None) – Adjust the height of the space between multiple panels.

  • return_fig (bool | None) – Return the matplotlib figure. show: Whether to display the figure or return axis.

  • save (bool | str | None) – If True or a str, save the figure. A string is appended to the default filename. Infer the filetype if ending on {‘.pdf’, ‘.png’, ‘.svg’}.

  • ax (Axes | None) – A matplotlib axes object. Only works if plotting a single component.

Return type:

Figure | Axes | None


If show==False a Axes or a list of it.


>>> import ehrapy as ep
>>> adata = ep.dt.mimic_2(encoded=True)
>>> ep.pp.knn_impute(adata)
>>> ep.pp.log_norm(adata, offset=1)
>>> ep.pp.neighbors(adata)
>>>, resolution=0.5, key_added="leiden_0_5")
>>>, groupby='leiden_0_5', key_added='icu_exp_flg')
>>>, key='icu_exp_flg')