Skip to content

Commit f8918fb

Browse files
committed
Simplify _render_centroids_as_points: take render_params, not 6 unpacked fields
The fast-mode draw wrapper read cmap/size/alpha/zorder/colorbar/colorbar_params straight off render_params at both call sites. Pass the render_params dataclass instead and read them internally; only the genuinely per-branch values (x/y/color vectors, norm, na_color, transform, adata, palette, col_for_color) stay explicit. Signature 20->15 params; both as_points call sites lose the restated render_params plumbing.
1 parent 13b1df3 commit f8918fb

1 file changed

Lines changed: 20 additions & 24 deletions

File tree

‎src/spatialdata_plot/pl/render.py‎

Lines changed: 20 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -759,24 +759,19 @@ def _render_shapes(
759759
centroids = shapes.geometry.centroid # intrinsic coords, positionally aligned to color_vector
760760
_render_centroids_as_points(
761761
ax,
762+
render_params,
762763
x=centroids.x.to_numpy(),
763764
y=centroids.y.to_numpy(),
764765
color_vector=color_vector,
765766
color_source_vector=color_source_vector,
766-
cmap=render_params.cmap_params.cmap,
767767
norm=norm,
768768
na_color=render_params.cmap_params.na_color,
769-
size=render_params.size,
770-
alpha=render_params.fill_alpha,
771-
zorder=render_params.zorder,
772769
transform=trans_data, # intrinsic -> coordinate system -> display
773770
adata=table,
774771
col_for_color=col_for_color,
775772
palette=palette,
776773
fig_params=fig_params,
777774
legend_params=legend_params,
778-
colorbar=render_params.colorbar,
779-
colorbar_params=render_params.colorbar_params,
780775
colorbar_requests=colorbar_requests,
781776
)
782777
return
@@ -1118,34 +1113,40 @@ def _scatter_points(
11181113

11191114
def _render_centroids_as_points(
11201115
ax: matplotlib.axes.SubplotBase,
1116+
render_params: ShapesRenderParams | LabelsRenderParams,
11211117
*,
11221118
x: Any,
11231119
y: Any,
11241120
color_vector: Any,
11251121
color_source_vector: pd.Series | None,
1126-
cmap: Colormap,
11271122
norm: Normalize | None,
11281123
na_color: Any,
1129-
size: float,
1130-
alpha: float,
1131-
zorder: int,
11321124
transform: Any,
11331125
adata: AnnData | None,
11341126
col_for_color: str | None,
11351127
palette: Any,
11361128
fig_params: FigParams,
11371129
legend_params: LegendParams,
1138-
colorbar: bool | str | None,
1139-
colorbar_params: dict[str, object] | None,
11401130
colorbar_requests: list[ColorbarSpec] | None,
11411131
) -> None:
11421132
"""Render one dot per cell at ``(x, y)`` colored like the fill, with legend/colorbar.
11431133
1144-
Shared "fast mode" draw for shapes/labels: ``color_vector`` is the same per-instance color
1145-
vector the geometry/raster path would use, so colors match the full rendering exactly.
1134+
Shared "fast mode" draw for shapes/labels: cmap/size/alpha/zorder/colorbar come off
1135+
``render_params``; ``color_vector`` is the same per-instance color vector the geometry/raster
1136+
path would use, so colors match the full rendering exactly. ``norm``/``na_color`` stay explicit
1137+
because they differ between the shapes (locally adjusted) and labels paths.
11461138
"""
11471139
cax = _scatter_points(
1148-
ax, x, y, color_vector, size=size, cmap=cmap, norm=norm, alpha=alpha, trans_data=transform, zorder=zorder
1140+
ax,
1141+
x,
1142+
y,
1143+
color_vector,
1144+
size=render_params.size,
1145+
cmap=render_params.cmap_params.cmap,
1146+
norm=norm,
1147+
alpha=render_params.fill_alpha,
1148+
trans_data=transform,
1149+
zorder=render_params.zorder,
11491150
)
11501151
_add_legend_and_colorbar(
11511152
ax=ax,
@@ -1156,11 +1157,11 @@ def _render_centroids_as_points(
11561157
color_source_vector=color_source_vector,
11571158
color_vector=color_vector,
11581159
palette=palette,
1159-
alpha=alpha,
1160+
alpha=render_params.fill_alpha,
11601161
na_color=na_color,
11611162
legend_params=legend_params,
1162-
colorbar=colorbar,
1163-
colorbar_params=colorbar_params,
1163+
colorbar=render_params.colorbar,
1164+
colorbar_params=render_params.colorbar_params,
11641165
colorbar_requests=colorbar_requests,
11651166
)
11661167

@@ -2380,24 +2381,19 @@ def _render_labels(
23802381
point_color_source_vector = None
23812382
_render_centroids_as_points(
23822383
ax,
2384+
render_params,
23832385
x=centroids["x"].to_numpy(),
23842386
y=centroids["y"].to_numpy(),
23852387
color_vector=point_color_vector,
23862388
color_source_vector=point_color_source_vector,
2387-
cmap=render_params.cmap_params.cmap,
23882389
norm=render_params.cmap_params.norm,
23892390
na_color=na_color,
2390-
size=render_params.size,
2391-
alpha=render_params.fill_alpha,
2392-
zorder=render_params.zorder,
23932391
transform=centroid_trans, # scale0 intrinsic coords -> coordinate system -> display
23942392
adata=table if table_name is not None else None,
23952393
col_for_color=col_for_color,
23962394
palette=palette,
23972395
fig_params=fig_params,
23982396
legend_params=legend_params,
2399-
colorbar=render_params.colorbar,
2400-
colorbar_params=render_params.colorbar_params,
24012397
colorbar_requests=colorbar_requests,
24022398
)
24032399
return

0 commit comments

Comments
 (0)