Skip to content

feat: new holoviz plotting - #4188

Merged
flying-sheep merged 20 commits into
mainfrom
plotting
Jul 23, 2026
Merged

feat: new holoviz plotting#4188
flying-sheep merged 20 commits into
mainfrom
plotting

Conversation

@flying-sheep

@flying-sheep flying-sheep commented Jun 29, 2026

Copy link
Copy Markdown
Member

TODO

  • dotplot
  • more plots?
  • export helpers like dot_size
  • other backends demo
  • selenium for export?
  • example notebook(s)
  • re-export A/AdDim (A = sc.pl.hv_init())

@flying-sheep flying-sheep added this to the 1.13.0 milestone Jun 29, 2026
@codecov

codecov Bot commented Jun 30, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 58.57741% with 198 lines in your changes missing coverage. Please review.
✅ Project coverage is 78.99%. Comparing base (3b195cd) to head (32627e5).
⚠️ Report is 2 commits behind head on main.
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
src/scanpy/plotting/_v2/_core.py 29.77% 125 Missing ⚠️
src/scanpy/plotting/_v2/_tl.py 22.22% 35 Missing ⚠️
src/scanpy/plotting/_v2/_pp.py 47.05% 9 Missing ⚠️
src/scanpy/plotting/_v2/_api.py 52.94% 8 Missing ⚠️
src/scanpy/plotting/legacy/mpl_settings.py 89.23% 7 Missing ⚠️
src/scanpy/get/get.py 20.00% 4 Missing ⚠️
src/scanpy/datasets/_datasets.py 57.14% 3 Missing ⚠️
src/scanpy/plotting/__init__.py 90.00% 2 Missing ⚠️
src/scanpy/tools/_embedding_density.py 60.00% 2 Missing ⚠️
src/scanpy/plotting/legacy/_utils.py 87.50% 1 Missing ⚠️
... and 2 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4188      +/-   ##
==========================================
- Coverage   80.13%   78.99%   -1.14%     
==========================================
  Files         121      128       +7     
  Lines       13091    13402     +311     
==========================================
+ Hits        10490    10587      +97     
- Misses       2601     2815     +214     
Flag Coverage Δ
hatch-test.low-vers 77.24% <40.58%> (-1.76%) ⬇️
hatch-test.pre 78.84% <58.57%> (-1.16%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
src/scanpy/__init__.py 96.55% <100.00%> (ø)
src/scanpy/_settings/__init__.py 96.11% <ø> (+4.38%) ⬆️
src/scanpy/external/pl.py 29.21% <100.00%> (ø)
src/scanpy/get/__init__.py 100.00% <ø> (ø)
src/scanpy/plotting/_common.py 100.00% <100.00%> (ø)
src/scanpy/plotting/_v2/__init__.py 100.00% <100.00%> (ø)
src/scanpy/plotting/legacy/__init__.py 100.00% <100.00%> (ø)
src/scanpy/plotting/legacy/_anndata.py 85.65% <100.00%> (ø)
src/scanpy/plotting/legacy/_baseplot_class.py 80.36% <100.00%> (ø)
src/scanpy/plotting/legacy/_docs.py 100.00% <100.00%> (ø)
... and 24 more

... and 1 file with indirect coverage changes

@flying-sheep
flying-sheep changed the base branch from main to naked-base July 2, 2026 08:18
Base automatically changed from naked-base to main July 2, 2026 15:26
@flying-sheep
flying-sheep marked this pull request as ready for review July 3, 2026 12:40
@flying-sheep
flying-sheep changed the base branch from main to aggregate-dim July 7, 2026 06:53

@ilan-gold ilan-gold left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a first quick pass!

Comment thread src/scanpy/plotting/_v2/_core.py Outdated
Comment thread src/scanpy/plotting/_v2/_core.py
return hm


def tracksplot(

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not just here, but in general, the MPL versions seem too small (heatmap too I noticed, see other screenshot). This one, though, appears to be missing a few features including labels (bokeh is as well)

Image

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yep, known issues, e.g. holoviz/holoviews#6658

Comment thread src/scanpy/plotting/_v2/_core.py
Comment thread src/scanpy/plotting/_v2/_core.py
Comment thread src/scanpy/plotting/_v2/_core.py
@flying-sheep
flying-sheep force-pushed the plotting branch 2 times, most recently from e0a1c68 to 04feb46 Compare July 17, 2026 08:28
@flying-sheep
flying-sheep force-pushed the plotting branch 4 times, most recently from 890c222 to dd37b5f Compare July 17, 2026 16:56
Base automatically changed from aggregate-dim to main July 17, 2026 17:09
@flying-sheep
flying-sheep merged commit 384a499 into main Jul 23, 2026
13 of 14 checks passed
@flying-sheep
flying-sheep deleted the plotting branch July 23, 2026 16:29
flying-sheep added a commit that referenced this pull request Jul 25, 2026
Also backports the test layout from #4188 (tests/plotting/legacy/) that
#4247 builds on; the holoviz plotting feature itself is not backported.
@flying-sheep flying-sheep linked an issue Jul 27, 2026 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

generalize sc.tl.embedding_density() to use any 'obsm' key Holoviz based plotting

2 participants