You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Seaborn热图中基因标签'rnaseh2b'被错误替换为'maseh2b'的问题求助

Seaborn热图中基因标签'rnaseh2b'被错误替换为'maseh2b'的问题求助

我最近在做基因相关的热图分析时遇到了一个特别诡异的问题:当我传入包含rnaseh2b的基因列表生成Seaborn热图时,最终导出的图片里这个基因的标签居然被自动改成了maseh2b!前后做了15个左右的热图,只有这一个基因出现了这种替换情况,实在搞不懂哪里出问题了。

更奇怪的是,maseh2b这个基因在NCBI或者Ensembl数据库里根本查不到,只在极少数论文里见过相关提及。我发现是原标签的开头rn被替换成了ma,尝试修改Matplotlib的字体参数(比如换成Liberation Sans)也完全没用。

先说明一下我的系统环境:

  • 系统:Ubuntu 24.04.1 LTS (pro)

问题核心

代码里明确使用的rnaseh2b,调试打印Y轴标签时显示的也是正确内容,但最终导出的图片里就变成了maseh2b。

我的代码

# **Inspect the y-tick labels set by seaborn/matplotlib**
plt.rcParams["font.family"] = "Liberation Sans"  # 试过DejaVu Sans等常见字体也没用
plt.figure(figsize=(10, 8))
ax = sns.heatmap(
    -np.log10(pvals_sorted),  # 使用排序后的p值数据
    cmap="viridis",
    linewidths=0.5,
    cbar_kws={"label": "-log10(corrected p-value)"}
)
print("Y-tick labels on the heatmap:")
print([label.get_text() for label in ax.get_yticklabels()])

print("Data passed to sns.heatmap:")
print(-np.log10(pvals_sorted))

# 显式设置Y轴标签
ax.set_yticklabels(pvals_sorted.index.tolist(), rotation=0)

title = f"Top Genes Heatmap (Corrected P-values): High vs Low {target_gene} Expression Groups"
if timepoint_filter:
    title += f" (Timepoint: {timepoint_filter})"
if cell_type_filter:
    title += f" (Cell Type: {cell_type_filter})"
ax.set_title(title, fontsize=14)
ax.set_xlabel(f"{target_gene} Expression Groups")
ax.set_ylabel("Genes")

# 保存并显示图片
plt.savefig(f"./figures/{save_prefix}_{target_gene}_top_genes_heatmap_corrected_pvalues.png", dpi=600, bbox_inches="tight")
plt.show()

# 再次打印确认标签
print("Y-tick labels on the heatmap after setting:")
print([label.get_text() for label in ax.get_yticklabels()])

调试输出结果

  • Y轴标签打印结果:
['lama1', 'rnaseh2b', ...]
  • 传入Seaborn热图的数据:
high        low
lama1     4.009937   3.116815
rnaseh2b  3.318717  33.666719

有没有大佬遇到过这种情况?或者能帮我分析下可能的原因吗?

备注:内容来源于stack exchange,提问作者kuaiat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 13:24:50