Skip to content

Commit 36f1fec

Browse files
committed
Fix passing colormap objects
1 parent 1a9faad commit 36f1fec

File tree

4 files changed

+10
-2
lines changed

4 files changed

+10
-2
lines changed

src/spatialdata_plot/pl/utils.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,12 @@ def _prepare_cmap_norm(
344344
**kwargs: Any,
345345
) -> CmapParams:
346346
is_default = cmap is None
347-
cmap = copy(matplotlib.colormaps[rcParams["image.cmap"] if cmap is None else cmap])
347+
if cmap is None:
348+
cmap = rcParams["image.cmap"]
349+
if isinstance(cmap, str):
350+
cmap = matplotlib.colormaps[cmap]
351+
352+
cmap = copy(cmap)
348353
cmap.set_bad("lightgray" if na_color is None else na_color)
349354

350355
if isinstance(norm, Normalize) or not norm:
Loading

tests/pl/test_render_images.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,12 @@ class TestImages(PlotTester, metaclass=PlotTesterMeta):
2424
def test_plot_can_render_image(self, sdata_blobs: SpatialData):
2525
sdata_blobs.pl.render_images(elements="blobs_image").pl.show()
2626

27-
def test_plot_can_pass_cmap_to_render_images(self, sdata_blobs: SpatialData):
27+
def test_plot_can_pass_cmap_name_to_render_images(self, sdata_blobs: SpatialData):
2828
sdata_blobs.pl.render_images(elements="blobs_image", cmap="seismic").pl.show()
2929

30+
def test_plot_can_pass_cmap_object_to_render_images(self, sdata_blobs: SpatialData):
31+
sdata_blobs.pl.render_images(elements="blobs_image", cmap=matplotlib.colormaps["seismic"]).pl.show()
32+
3033
def test_plot_can_render_a_single_channel_from_image(self, sdata_blobs: SpatialData):
3134
sdata_blobs.pl.render_images(elements="blobs_image", channel=0).pl.show()
3235

0 commit comments

Comments
 (0)