---------------------------------------------------------------------------
AssertionError Traceback (most recent call last)
Cell In[87], line 7
1 sdata.pl.render_shapes(
2 element="Slide_P12",
3 table_name="proteomics",
4 color="IMPA2",
5 cmap="viridis",
6 norm=Normalize(vmin=10, vmax=15, clip=False)
----> 7 ).pl.show()
File ~/Jose_BI/1_Pipelines/openDVP/.pixi/envs/spatialdata/lib/python3.12/site-packages/spatialdata_plot/pl/basic.py:936, in PlotAccessor.show(self, coordinate_systems, legend_fontsize, legend_fontweight, legend_loc, legend_fontoutline, na_in_legend, colorbar, wspace, hspace, ncols, frameon, figsize, dpi, fig, title, share_extent, pad_extent, ax, return_ax, save)
931 wanted_elements, wanted_shapes_on_this_cs, wants_shapes = _get_wanted_render_elements(
932 sdata, wanted_elements, params_copy, cs, "shapes"
933 )
935 if wanted_shapes_on_this_cs:
--> 936 _render_shapes(
937 sdata=sdata,
938 render_params=params_copy,
939 coordinate_system=cs,
940 ax=ax,
941 fig_params=fig_params,
942 scalebar_params=scalebar_params,
943 legend_params=legend_params,
944 )
946 elif cmd == "render_points" and has_points:
947 wanted_elements, wanted_points_on_this_cs, wants_points = _get_wanted_render_elements(
948 sdata, wanted_elements, params_copy, cs, "points"
949 )
File ~/Jose_BI/1_Pipelines/openDVP/.pixi/envs/spatialdata/lib/python3.12/site-packages/spatialdata_plot/pl/render.py:110, in _render_shapes(sdata, render_params, coordinate_system, ax, fig_params, scalebar_params, legend_params)
107 sdata_filt[table_name].obs[col_for_color] = sdata_filt[table_name].obs[col_for_color].astype("category")
109 # get color vector (categorical or continuous)
--> 110 color_source_vector, color_vector, _ = _set_color_source_vec(
111 sdata=sdata_filt,
112 element=sdata_filt[element],
113 element_name=element,
114 value_to_plot=col_for_color,
115 groups=groups,
116 palette=render_params.palette,
117 na_color=render_params.color or render_params.cmap_params.na_color,
118 cmap_params=render_params.cmap_params,
119 table_name=table_name,
120 table_layer=table_layer,
121 )
123 values_are_categorical = color_source_vector is not None
125 # color_source_vector is None when the values aren't categorical
File ~/Jose_BI/1_Pipelines/openDVP/.pixi/envs/spatialdata/lib/python3.12/site-packages/spatialdata_plot/pl/utils.py:732, in _set_color_source_vec(sdata, element, value_to_plot, na_color, element_name, groups, palette, cmap_params, alpha, table_name, table_layer, render_type)
727 raise ValueError(
728 f"Color key '{value_to_plot}' for element '{element_name}' been found in multiple locations: {origins}."
729 )
731 if len(origins) == 1:
--> 732 color_source_vector = get_values(
733 value_key=value_to_plot,
734 sdata=sdata,
735 element_name=element_name,
736 table_name=table_name,
737 table_layer=table_layer,
738 )[value_to_plot]
740 # numerical case, return early
741 # TODO temporary split until refactor is complete
742 if color_source_vector is not None and not isinstance(color_source_vector.dtype, pd.CategoricalDtype):
File ~/Jose_BI/1_Pipelines/openDVP/.pixi/envs/spatialdata/lib/python3.12/site-packages/spatialdata/_core/query/relational_query.py:979, in get_values(value_key, element, sdata, element_name, table_name, table_layer, return_obsm_as_is)
977 obs = matched_table.obs
978 assert obs[region_key].nunique() == 1
--> 979 assert obs[instance_key].nunique() == len(matched_table)
980 else:
981 matched_table = element
AssertionError:
Hi,
render_shapes is not working as expected, I think I know why:
Simple sdata object:
sdata['Slide_P12']returns:sdata['proteomics'].obsreturns:When trying to plot these shapes it fails:
Traceback:
Details
check 1: there is data
check 2: removing duplicate index from shapes element fixes it