跨多个通路的 DEGs 可视化

跨多个通路的 DEGs 可视化 报错的原因是 scale fill manual 提供的颜色向量 custom colors 中的颜色数量不足以覆盖 geom scatterpie 内使用的 cols 所对应的路径数量,导致了“需要 11 个颜色,但只提供了 9 个”的错误。 原因分析 1. scale fill manual 会同时影响所有使用 fill 映射的几何对象,包括: geom sca...

跨多个通路的 DEGs 可视化

报错的原因是 `scale_fill_manual()` 提供的颜色向量 `custom_colors` 中的颜色数量不足以覆盖 `geom_scatterpie` 内使用的 `cols` 所对应的路径数量,导致了“需要 11 个颜色,但只提供了 9 个”的错误。

**原因分析**

  1. **`scale_fill_manual()`** 会同时影响所有使用 `fill` 映射的几何对象,包括:
  • `geom_scatterpie`(用于 pathways 和器官分布)
  • `geom_label_repel`(用于标签背景颜色)。
  1. **冲突**:
  • `custom_colors` 颜色向量只为 `geom_scatterpie` 的 pathways 提供了 9 种颜色。
  • 同时 `geom_label_repel` 使用 `fill` 映射来设置标签的背景色(红色和白色),这会造成颜色不足的错误。
------

**解决方案**

将 `scale_fill_manual()` 和 `geom_label_repel()` 的 `fill` 设置分开处理,确保路径(`geom_scatterpie`)和标签背景色互不干扰。

**方法一:为 `geom_scatterpie` 使用 `scale_fill_manual()`**

同时在 `geom_label_repel()` 中使用固定的 `fill` 值,不依赖 `scale_fill_manual()`。

**关键修正点**

  1. **`geom_label_repel()`**:
  • **`fill` 参数**:直接在 `geom_label_repel` 内部指定背景颜色,而不是通过 `aes()` 使用全局的 `scale_fill_manual()`。
  • 这样标签背景色(红色和白色)不会受到 `scale_fill_manual()` 的影响。
  1. **`scale_fill_manual()`**:
  • 仅用于 `geom_scatterpie` 控制饼图的填充颜色,不会干扰其他对象。
上一篇
非负矩阵分解分析连续细胞状态
下一篇
使用 Ensembl API 查询 SNP 在不同人群中的分布情况
Loading...