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

如何使用Bioinfokit将火山图X轴范围扩展至-10到10?

解决Bioinfokit火山图X轴范围扩展问题

核心思路

Bioinfokit基于Matplotlib绘图,当xlm参数被数据实际范围覆盖时,直接通过Matplotlib原生API强制设置X轴范围即可,无需添加虚假数据。

修改后的代码示例

# 安装依赖
pip install bioinfokit

import pandas as pd
import numpy as np
from bioinfokit import visuz
import random
import matplotlib.pyplot as plt

# 生成模拟数据
lg2f = [random.uniform(-5,10) for _ in range(4000)]
pad = [random.uniform(1e-7, 0.999) for _ in range(4000)]
df1 = pd.DataFrame({'log2FoldChange': lg2f, 'padj': pad})

# 绘制火山图,先预设X轴刻度范围
visuz.GeneExpression.volcano(
    df=df1,
    lfc='log2FoldChange',
    pv='padj',
    lfc_thr=(1.5,1.5),
    sign_line=True,
    plotlegend=True,
    legendpos='upper right',
    legendanchor=(1.46,1),
    dotsize=0.1,
    gfont=7,
    xlm=(-10.0,10.0,1),
    pv_thr=(0.05,0.05)
)

# 强制锁定X轴范围为-10到10
plt.xlim(-10, 10)
plt.show()

关键说明

  1. 为什么单独设置xlm不生效?
    Bioinfokit的xlm参数仅用于定义刻度间隔,Matplotlib会自动根据数据实际分布调整轴的显示范围。如果你的数据未覆盖到-10或10,Matplotlib会自动收缩轴范围适配数据。
  2. plt.xlim()的作用
    这是Matplotlib原生方法,会强制覆盖自动调整的轴范围,直接将X轴固定在目标区间,无需修改原始数据。

内容的提问来源于stack exchange,提问作者Chip

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 01:52:17