Skip to content

Commit 9ca03ad

Browse files
authored
fix_col_for_color (#227)
1 parent f885f38 commit 9ca03ad

File tree

1 file changed

+13
-10
lines changed

1 file changed

+13
-10
lines changed

src/spatialdata_plot/pl/utils.py

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1403,15 +1403,18 @@ def _validate_colors_element_table_mapping_points_shapes(
14031403
params.col_for_color.append(col_color)
14041404
element_table_mapping[element_name] = set()
14051405
else:
1406-
for table_name in element_table_mapping[element_name].copy():
1407-
if (
1408-
col_color not in sdata[table_name].obs.columns
1409-
and col_color not in sdata[table_name].var_names
1410-
):
1411-
element_table_mapping[element_name].remove(table_name)
1412-
params.col_for_color.append(None)
1413-
else:
1414-
params.col_for_color.append(col_color)
1406+
if len(element_table_mapping[element_name].copy()) != 0:
1407+
for table_name in element_table_mapping[element_name].copy():
1408+
if (
1409+
col_color not in sdata[table_name].obs.columns
1410+
and col_color not in sdata[table_name].var_names
1411+
):
1412+
element_table_mapping[element_name].remove(table_name)
1413+
params.col_for_color.append(None)
1414+
else:
1415+
params.col_for_color.append(col_color)
1416+
else:
1417+
params.col_for_color.append(None)
14151418
else:
14161419
params.color = [None] * len(render_elements)
14171420
params.col_for_color = [None] * len(render_elements)
@@ -1439,7 +1442,7 @@ def _validate_colors_element_table_mapping_points_shapes(
14391442
element_table_mapping[element_name].remove(table_name)
14401443
for index, element_name in enumerate(render_elements):
14411444
# We only want one table value per element and only when there is a color column in the table
1442-
if params.col_for_color[index] is not None:
1445+
if isinstance(params.col_for_color, list) and params.col_for_color[index] is not None:
14431446
table_set = element_table_mapping[element_name]
14441447
if len(table_set) > 1:
14451448
raise ValueError(f"More than one table found with color column {params.col_for_color[index]}.")

0 commit comments

Comments
 (0)