当前位置:首页>python>使用Python绘制箱线图

使用Python绘制箱线图

  • 2026-10-21 13:27:35
使用Python绘制箱线图

什么是箱线图

箱线图(Boxplot),也称盒须图,是一种用于描述数据分布特征的统计图表。它通过五个关键统计量——最小值、第一四分位数(Q1)、中位数(Median)、第三四分位数(Q3)和最大值,直观展示数据的集中趋势、离散程度和异常值。箱线图由一个箱体和两条延伸线(称为“须”)组成,箱体表示数据中间50%的范围(即四分位距,IQR = Q3 - Q1),中位数线反映数据的中心位置,而须线则延伸至正常值范围的边界,超出该边界的点被视为异常值。

箱线图的主要作用

  • 展示数据分布:通过箱体高度和须线长度,快速判断数据的离散程度、对称性和偏态情况。

  • 识别异常值:明确标出偏离主体数据的异常点,便于后续数据清洗或重点分析。

  • 多组数据比较:可同时绘制多组数据的箱线图,直观对比不同组别在中位数、离散程度和异常值上的差异,这在基因表达分析、实验组对照等场景中尤为有用。

  • 非参数检验辅助:为后续选择合适的统计检验方法(如t检验或Mann-Whitney U检验)提供视觉依据。

示例数据

以基因表达数据为例,假设我们有三个样本组(对照组、处理组A、处理组B),每组包含10个样本中某基因的表达量(单位:TPM):

  • 对照组:[12.3, 11.8, 13.1, 10.9, 12.7, 11.5, 13.5, 12.0, 11.9, 12.4]

  • 处理组A:[18.2, 17.9, 20.1, 16.8, 19.3, 18.7, 17.5, 19.8, 18.0, 17.2]

  • 处理组B:[25.6, 24.8, 26.1, 23.9, 27.3, 25.0, 24.5, 26.8, 25.7, 24.9]

需要安装的Python库

绘制箱线图主要依赖以下库:

  • Matplotlib:基础绘图库,提供boxplot函数。

  • Seaborn:基于Matplotlib的高级绘图库,接口更简洁,样式更美观。

  • Pandas:用于数据处理和组织。

  • Numpy:用于数值计算。

pip install matplotlib seaborn pandas numpy

示例代码

import seaborn as snsimport matplotlib.pyplot as pltimport pandas as pdimport numpy as np# 构造示例数据data = {    'Expression': [12.3, 11.8, 13.1, 10.9, 12.7, 11.5, 13.5, 12.0, 11.9, 12.4,                   18.2, 17.9, 20.1, 16.8, 19.3, 18.7, 17.5, 19.8, 18.0, 17.2,                   25.6, 24.8, 26.1, 23.9, 27.3, 25.0, 24.5, 26.8, 25.7, 24.9],    'Group': ['Control'] * 10 + ['Treatment A'] * 10 + ['Treatment B'] * 10}df = pd.DataFrame(data)# 绘制箱线图plt.figure(figsize=(8, 6))sns.boxplot(x='Group', y='Expression', data=df, hue='Group', palette="Set2", legend=False)plt.title('Gene Expression Across Groups')plt.xlabel('Group')plt.ylabel('Expression (TPM)')plt.show()

关键函数与参数解释

  • plt.figure(figsize=(8, 6))
创建一个画布,尺寸设定为宽8英寸、高6英寸。
  • sns.boxplot(x='Group', y='Expression', data=df, hue='Group', palette="Set2", legend=False)
调用箱线图函数。以 df 为数据源,横轴为 Group,纵轴为 Expression。通过 hue 参数按组别着色,使用 Set2 颜色盘,并强制关闭图例。
  • plt.title('Gene Expression Across Groups')
设置图表标题为“Gene Expression Across Groups”。
  • plt.xlabel('Group')
设置横坐标轴标签为“Group”。
  • plt.ylabel('Expression (TPM)')
设置纵坐标轴标签为“Expression (TPM)”。

结果示例

总结

箱线图是生物信息学分析中不可或缺的可视化工具,尤其适合展示基因表达、测序深度等连续型数据的分布特征。通过Python的Seaborn和Matplotlib库,可以轻松绘制出专业、清晰的箱线图,帮助研究者快速发现数据中的模式、差异和异常,为后续的生物学解释提供有力支持。掌握其绘制方法和参数调整,将极大提升数据分析的效率和表达力。

﹀

﹀

﹀

关注美格科服公众号
掌握最新最全的美格基因产品资讯

致尊敬的您:

广东美格基因科技有限公司专注于微生物组学创新技术以及产品的研发与产业化。公司拥有一支由国际知名学者领衔的高水平研发与产业化队伍,建有广东省环境功能基因芯片工程技术研究中心、美格基因研究院、微生物菌种资源库等多个高水平微生物组学研究平台。微生物组科研服务、微生物基因芯片、微生物检测、微生物调控、基因组酶学等技术居国际领先水平。美格基因作为中国微生物组领军企业,多项技术与产品已在科研服务、生态环境、农业、医药健康领域得到了广泛应用。展望未来,美格基因志在以微生物组技术造福社会,并致力在国际微生物组领域占有一席之地。
如您有任何需求和疑问,欢迎随时咨询,美格基因竭诚为您服务!
固话:400-968-5700
客服QQ:811480176
邮箱:support@magigene.com
官网:http://www.magigene.com

最新文章

随机文章