, basis, *, color=None, gene_symbols=None, use_raw=None, sort_order=True, edges=False, edges_width=0.1, edges_color='grey', neighbors_key=None, arrows=False, arrows_kwds=None, groups=None, components=None, layer=None, projection='2d', img_key=None, crop_coord=None, alpha_img=1.0, bw=False, library_id=None, color_map=None, palette=None, size=None, frameon=None, legend_fontsize=None, legend_fontweight='bold', legend_loc='right margin', legend_fontoutline=None, vmax=None, vmin=None, add_outline=False, outline_width=0.3, 0.05, outline_color='black', 'white', ncols=4, hspace=0.25, wspace=None, title=None, show=None, save=None, ax=None, return_fig=None, **kwargs)

Scatter plot in graph-drawing basis.

adata : AnnDataAnnData

Annotated data matrix.

color : str, Sequence[str], NoneUnion[str, Sequence[str], None] (default: None)

Keys for annotations of observations/cells or variables/genes, e.g., 'ann1' or ['ann1', 'ann2'].

gene_symbols : str, NoneOptional[str] (default: None)

Column name in .var DataFrame that stores gene symbols. By default var_names refer to the index column of the .var DataFrame. Setting this option allows alternative names to be used.

use_raw : bool, NoneOptional[bool] (default: None)

Use .raw attribute of adata for coloring with gene expression. If None, defaults to True if layer isn’t provided and adata.raw is present.

layer : str, NoneOptional[str] (default: None)

Name of the AnnData object layer that wants to be plotted. By default adata.raw.X is plotted. If use_raw=False is set, then adata.X is plotted. If layer is set to a valid layer name, then the layer is plotted. layer takes precedence over use_raw.


One of the draw_graph() layouts. By default, the last computed layout is used.

edges : boolbool (default: False)

Show edges.

edges_width : floatfloat (default: 0.1)

Width of edges.

edges_color : str, Sequence[float], Sequence[str]Union[str, Sequence[float], Sequence[str]] (default: 'grey')

Color of edges. See draw_networkx_edges().

neighbors_key : str, NoneOptional[str] (default: None)

Where to look for neighbors connectivities. If not specified, this looks .obsp[‘connectivities’] for connectivities (default storage place for pp.neighbors). If specified, this looks .obsp[.uns[neighbors_key][‘connectivities_key’]] for connectivities.

arrows : boolbool (default: False)

Show arrows (requires to run before). Deprecated in favor of and friends.

arrows_kwds : Mapping, NoneOptional[Mapping[str, Any]] (default: None)

Passed to quiver()

sort_order : boolbool (default: True)

For continuous annotations used as color parameter, plot data points with higher values on top of others.

groups : str, NoneOptional[str] (default: None)

Restrict to a few categories in categorical observation annotation. The default is not to restrict to any groups.

components : str, Sequence[str], NoneUnion[str, Sequence[str], None] (default: None)

For instance, ['1,2', '2,3']. To plot all available components use components='all'.

projection : {‘2d’, ‘3d’}Literal[‘2d’, ‘3d’] (default: '2d')

Projection of plot (default: '2d').

legend_loc : strstr (default: 'right margin')

Location of legend, either 'on data', 'right margin' or a valid keyword for the loc parameter of Legend.

legend_fontsize : int, float, {‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’}, NoneUnion[int, float, Literal[‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’], None] (default: None)

Numeric size in pt or string describing the size. See set_fontsize().

legend_fontweight : int, {‘light’, ‘normal’, ‘medium’, ‘semibold’, ‘bold’, ‘heavy’, ‘black’}Union[int, Literal[‘light’, ‘normal’, ‘medium’, ‘semibold’, ‘bold’, ‘heavy’, ‘black’]] (default: 'bold')

Legend font weight. A numeric value in range 0-1000 or a string. Defaults to 'bold' if legend_loc == 'on data', otherwise to 'normal'. See set_fontweight().

legend_fontoutline : int, NoneOptional[int] (default: None)

Line width of the legend font outline in pt. Draws a white outline using the path effect withStroke.

size : float, Sequence[float], NoneUnion[float, Sequence[float], None] (default: None)

Point size. If None, is automatically computed as 120000 / n_cells. Can be a sequence containing the size for each cell. The order should be the same as in adata.obs. If img_key not None, size is the scaling factor for the spot size.

color_map : Colormap, str, NoneUnion[Colormap, str, None] (default: None)

Color map to use for continous variables. Can be a name or a Colormap instance (e.g. "magma”, "viridis" or, see get_cmap(). If None, the value of mpl.rcParams["image.cmap"] is used. The default color_map can be set using set_figure_params().

palette : str, Sequence[str], Cycler, NoneUnion[str, Sequence[str], Cycler, None] (default: None)

Colors to use for plotting categorical annotation groups. The palette can be a valid ListedColormap name ('Set2', 'tab20', …), a Cycler object, or a sequence of matplotlib colors like ['red', '#ccdd11', (0.1, 0.2, 1)] (see is_color_like()). If None, mpl.rcParams["axes.prop_cycle"] is used unless the categorical variable already has colors stored in adata.uns["{var}_colors"]. If provided, values of adata.uns["{var}_colors"] will be set.

frameon : bool, NoneOptional[bool] (default: None)

Draw a frame around the scatter plot. Defaults to value set in set_figure_params(), defaults to True.

title : str, Sequence[str], NoneUnion[str, Sequence[str], None] (default: None)

Provide title for panels either as string or list of strings, e.g. ['title1', 'title2', ...].

img_key : str, NoneOptional[str] (default: None)

Key for image data, stored in adata.uns.

crop_coord : Tuple[int, int, int, int], NoneOptional[Tuple[int, int, int, int]] (default: None)

Coordinates to use for cropping the image (left, right, top, bottom).

alpha_img : floatfloat (default: 1.0)

Alpha value for image.

bw : boolbool (default: False)

Plot Image in gray scale.

vmin : str, float, Callable[[Sequence[float]], float], Sequence[Union[str, float, Callable[[Sequence[float]], float]]], NoneUnion[str, float, Callable[[Sequence[float]], float], Sequence[Union[str, float, Callable[[Sequence[float]], float]]], None] (default: None)

Minimum value to plot. 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 : str, float, Callable[[Sequence[float]], float], Sequence[Union[str, float, Callable[[Sequence[float]], float]]], NoneUnion[str, float, Callable[[Sequence[float]], float], Sequence[Union[str, float, Callable[[Sequence[float]], float]]], None] (default: None)

Maximum value to plot. The format is the same as for vmin

add_outline : bool, NoneOptional[bool] (default: False)

If set to True, this will add a thin border around groups of dots. In some situations this can enhance the aesthetics of the resulting image

outline_color : Tuple[str, str]Tuple[str, str] (default: ('black', 'white'))

Tuple with two valid color names used to adjust the add_outline. The first color is the border color (default: black), while the second color is a gap color between the border color and the scatter dot (default: white).

outline_width : Tuple[float, float]Tuple[float, float] (default: (0.3, 0.05))

Tuple with two width numbers used to adjust the outline. The first value is the width of the border color as a fraction of the scatter dot size (default: 0.3). The second value is width of the gap color (default: 0.05).

ncols : intint (default: 4)

Number of panels per row.

wspace : float, NoneOptional[float] (default: None)

Adjust the width of the space between multiple panels.

hspace : floatfloat (default: 0.25)

Adjust the height of the space between multiple panels.

return_fig : bool, NoneOptional[bool] (default: None)

Return the matplotlib figure.


Arguments to pass to matplotlib.pyplot.scatter(), for instance: the maximum and minimum values (e.g. vmin=-2, vmax=5).

show : bool, NoneOptional[bool] (default: None)

Show the plot, do not return axis.

save : str, bool, NoneUnion[str, bool, None] (default: 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, NoneOptional[Axes] (default: None)

A matplotlib axes object. Only works if plotting a single component.

Return type

Figure, Axes, NoneUnion[Figure, Axes, None]


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