用途:在空间转录组组织切片上渲染每个特征的真实空间坐标值,可选叠加组织学图像,用于展示表达、聚类、评分与注释,不虚构检测未包含的结构。
主要能力与平台分叉:点/捕获类数据(Visium、Visium HD、Slide-seq)用 scanpy.pl.spatial 或 squidpy.pl.spatial_scatter,配合数据集 scalefactors 与反映真实捕获直径的 spot_size/size;成像/FOV 类数据(Xenium、MERFISH/MERSCOPE、CosMx)用 squidpy.pl.spatial_scatter 且 shape=None 绘制细胞/分子点云,或用多边形叠加分割边界,或使用平台查看器(Xenium Explorer、napari、Vitessce、TissUUmaps)。
必要用法:sc.pl.spatial 会自动读取 adata.uns['spatial'] 中的 scalefactors 使坐标对齐图像;叠加图像前须将微米/阵列坐标乘以 tissue_hires_scalef 等变换到像素空间,例如 coords_px = adata.obsm['spatial'] * scalef。连续场只对已测点着色,不做 KDE、kriging 或等值线插值;使用感知均匀色图(如 viridis 或 cmcrameri),并公开 vmin/vmax 截断。
适用场景:组织切片表达/聚类/评分可视化、组织学叠加、单分子转录本图、分割边界叠加、交互式探索。
限制与陷阱:点/捕获的一个 spot 是 1–10 个细胞的混合,不应标为细胞类型;成像数据用点绘图器或过大标记会伪造连续覆盖;平滑会制造梯度并使 Moran's I 等统计部分循环;jet/rainbow 色图产生伪条带;UMAP/tSNE 距离非度量,不能据此得出空间结论。参考示例经 squidpy 1.4+、scanpy 1.10+、anndata 0.10+、matplotlib 3.8+ 测试,版本不符时需内省 API 调整。