Skip to content

scanpy.pl.stacked_violin - remove "marker label" whitespace if var_names is a list of genes #3320

@adkinsrs

Description

@adkinsrs

Please make sure these conditions are met

  • I have checked that this issue has not already been reported.
  • I have confirmed this bug exists on the latest version of scanpy.
  • (optional) I have confirmed this bug exists on the main branch of scanpy.

What happened?

Basically I am creating a stacked violin plot that uses a list of marker genes for the "var_names" argument. But whenever I create the plot, it has extra whitespace at the top of the plot where the marker gene labels should go. This is very evident when you add a figure title, which gets place above the padding whitespace. I have not really found a way around this, and am currently looking through the scanpy internal code to see if there is some padding setting that I can undo. If there is a workaround to this or some option that I am missing I would like to know.

Thanks!

Minimal code sample

# I have an AnnData object that has undergone the Seurat analysis. I named the Leiden clustering output "spatial_clusters" since I was testing a spatial dataset read in via spatialdata then converted to AnnData with "spatialdata_io.experimental.to_legacy_anndata"

marker_genes = ["Pou4f3", "Calb2", "Pvalb", "Smpx", "Mlf1", "Sox2"]  # 5 random Cochlear HCs P7 + Sox2

sc.pl.stacked_violin(adata, marker_genes, title="Marker gene expression per cluster", groupby="spatial_clusters", cmap="YlOrRd", show=False, return_fig=True)

### COMPARISON TO MARKER GENES WITH LABELS
marker_genes = {"IHC": ["Pou4f3", "Calb2", "Pvalb", "Smpx", "Mlf1"], "Random": ["Sox2"]}

sc.pl.stacked_violin(adata, marker_genes, title="Marker gene expression per cluster", groupby="spatial_clusters", cmap="YlOrRd", show=False, return_fig=True)

Error output

Will post in the next comment on this thread. Seems I cannot drag-n-drop images into this block.

Versions

Details

I am including relevant package versions. Can provide more if needed

Python 3.12.7

anndata==0.10.6
matplotlib==3.9.0
pandas==2.2.1
scanpy-1.10.3

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions