BioF3 FigCode · SCI 绘图代码集
空间聚类图(Spatial Clusters)
分类:降维可视化 | 依赖包:squidpy、scanpy、matplotlib
解决的生物学问题
组织中不同区域的转录组特征如何?空间聚类是否对应已知解剖结构?
应用场景
- 10x Visium 空间聚类展示
- 组织微环境区域划分
- 肿瘤异质性空间分布
- 空间与单细胞聚类对比
输入数据格式
AnnData 空间对象(adata.obsm["spatial"] 含坐标 + obs.cluster)
关键参数
- img_key = "hires"(叠加 H&E 组织底图)
- color = "cluster"(着色字段)
- spot_size(spot 点大小)
- crop_coord(裁剪空白区域)
快速开始
1. 直接在线运行
打开 FigCode 在线绘图,点击本工具卡片的"在线绘图"按钮即可用内置示例数据出图,零环境配置。
2. 本地复现
下载脚本和示例数据,本地 RStudio 运行:
# 下载
curl -O https://<your-site>/figcode/scripts/spatial-cluster.R
curl -O https://<your-site>/figcode/data/spatial-cluster.csv
3. 安装依赖
# CRAN 包
install.packages(c("squidpy", "scanpy", "matplotlib"))
# Bioconductor 包(如需)
# BiocManager::install(c())
完整代码
import squidpy as sq
import scanpy as sc
import matplotlib.pyplot as plt
# --- Demo: Squidpy 内置小鼠脑 Visium HnE 真实数据 ---
# 含组织 H&E 高清底图 + 预计算的聚类标签
adata = sq.datasets.visium_hne_adata()
# --- 在组织切片上展示空间聚类(叠加 H&E 底图)---
sc.pl.spatial(
adata, color="cluster",
img_key="hires", # 叠加 H&E 高清组织图
size=1.5, # spot 相对大小
legend_loc="right margin",
title="Spatial clusters (mouse brain, Visium H&E)",
show=False,
)
plt.savefig("plot_001.png", dpi=150, bbox_inches="tight")
替换为自己的数据
脚本中以 # --- Demo data --- 标注的段落是示例数据生成代码。替换为自己的数据时,保持列名一致即可:
- 输入格式:AnnData 空间对象(adata.obsm["spatial"] 含坐标 + obs.cluster)
- 使用
read.csv()/readRDS()读取本地文件
延伸阅读
- 相关教程:空间聚类图 完整流程
- 出现 bug?欢迎在 FigCode 页面 点击对应卡片,在评论区留言。