Skip to content

Commit 4ba441a

Browse files
fixed! (#222)
* fixed! * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent 0da7878 commit 4ba441a

File tree

2 files changed

+19
-7
lines changed

2 files changed

+19
-7
lines changed

src/spatialdata_plot/pl/render.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,8 @@ def _render_shapes(
8888
value_to_plot=render_params.col_for_color[index],
8989
groups=render_params.groups[index] if render_params.groups[index][0] is not None else None,
9090
palette=render_params.palette[index]
91-
if render_params.palette is not None and render_params.palette[index][0] is not None
92-
else None,
91+
if render_params.palette is not None
92+
else None, # and render_params.palette[index][0] is not None
9393
na_color=render_params.color[index] or render_params.cmap_params.na_color,
9494
cmap_params=render_params.cmap_params,
9595
table_name=table_name,

src/spatialdata_plot/pl/utils.py

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -618,7 +618,7 @@ def _set_color_source_vec(
618618

619619
# numerical case, return early
620620
if color_source_vector is not None and not isinstance(color_source_vector.dtype, pd.CategoricalDtype):
621-
if palette[element_index][0] is not None:
621+
if palette[0] is not None:
622622
logger.warning(
623623
"Ignoring categorical palette which is given for a continuous variable. "
624624
"Consider using `cmap` to pass a ColorMap."
@@ -632,7 +632,16 @@ def _set_color_source_vec(
632632
color_source_vector = color_source_vector.remove_categories(categories.difference(groups))
633633
categories = groups
634634

635-
color_map = dict(zip(categories, _get_colors_for_categorical_obs(categories, palette, cmap_params=cmap_params)))
635+
if groups is not None:
636+
palette_input = palette[0] if palette[0] is None else palette
637+
elif palette is not None:
638+
palette_input = palette[0]
639+
else:
640+
palette_input = palette
641+
642+
color_map = dict(
643+
zip(categories, _get_colors_for_categorical_obs(categories, palette_input, cmap_params=cmap_params))
644+
)
636645

637646
if color_map is None:
638647
raise ValueError("Unable to create color palette.")
@@ -1797,6 +1806,8 @@ def _match_length_elements_groups_palette(
17971806
params.groups = [groups[0] for _ in range(len(render_elements))]
17981807
if palette is not None:
17991808
params.palette = [palette[0] for _ in range(len(render_elements))]
1809+
else:
1810+
params.palette = [[None] for _ in range(len(render_elements))]
18001811
else:
18011812
if len(groups) != len(render_elements):
18021813
raise ValueError(
@@ -1835,7 +1846,8 @@ def _update_params(sdata, params, wanted_elements_on_cs, element_type: Literal["
18351846
else:
18361847
params = _validate_colors_element_table_mapping_points_shapes(sdata, params, wanted_elements_on_cs)
18371848

1838-
if params.palette is None:
1839-
params.palette = [[None] for _ in wanted_elements_on_cs]
1849+
# if params.palette is None:
1850+
# params.palette = [[None] for _ in wanted_elements_on_cs]
18401851
image_flag = element_type == "images"
1841-
return _match_length_elements_groups_palette(params, wanted_elements_on_cs, image=image_flag)
1852+
params = _match_length_elements_groups_palette(params, wanted_elements_on_cs, image=image_flag)
1853+
return params

0 commit comments

Comments
 (0)