Python 数据可视化 boxplot

Python 数据可视化 boxplot


import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns# 读取 TSV 文件
df = pd.read_csv('result.tsv', sep='\t')normal_df = df[df["sample_name"].str.contains("normal")]
tumor_df = df[df["sample_name"].str.contains("tumor")]# sns.boxplot(x='down_level', y='loci_median_depth', data=tumor_df)
# sns.boxplot(x='down_level', y='loci_average_depth', data=tumor_df)def box_plot_1(df):# 提取数据sample_data = {}# 遍历 DataFrame,根据样本和级别组织数据for index, row in df.iterrows():sample = row['sample_name']level = row['down_level']data = row['loci_median_depth']  # 这里假设你想绘制 loci_median_depth 列的箱线图# 如果样本不在字典中,则将其添加为新的键,并将数据存储为列表if sample not in sample_data:sample_data[sample] = {}if level not in sample_data[sample]:sample_data[sample][level] = []sample_data[sample][level].append(data)# 绘制箱线图plt.figure(figsize=(100, 60))# 遍历样本和级别,绘制箱线图position = 1for sample, levels in sample_data.items():for level, data in levels.items():label = f"{sample} - {level}"plt.boxplot(data, positions=[position], labels=[label])position += 1plt.ylabel('Depth')plt.title('Box Plot of Depth Data by Sample and Level')plt.grid(True)plt.xticks(rotation=45)# 保存箱线图为文件plt.savefig('boxplot.png')plt.show()def box_plot_2(df, target_header_list):lvl_list = ["ori", '40', '36', '32', '28', '24', '20']for level_to_plot in lvl_list:filtered_df = df[df['down_level'] == level_to_plot]plt.figure(figsize=(20, 15))# plt.boxplot(filtered_df[' loci_median_depth'])plt.boxplot([filtered_df[i] for i in target_header_list], labels=target_header_list)plt.ylabel('Depth')# plt.xlabel(level_to_plot)plt.title(f'Box Plot of Depth Data for {level_to_plot} Level')plt.grid(True)plt.xticks(rotation=45)# 在箱线图上绘制每个数据点for i, col in enumerate(target_header_list):x = [i + 1] * len(filtered_df[col])plt.plot(x, filtered_df[col], 'ro', alpha=0.5)# 保存箱线图为文件plt.savefig(f'boxplot_{level_to_plot}.png')# 显示箱线图plt.show()def box_plot_3(df, target_header_list):# 选择要包含在 y 轴中的列y_columns = target_header_list# 将这些列数据整合到一个单独的 DataFrame 中y_data = df[y_columns]# 使用 pd.melt() 函数将其转换为适合绘制箱线图的格式melted_df = pd.melt(df, id_vars=['down_level'], value_vars=y_columns, var_name='Depth_Type', value_name='Depth')# 使用 seaborn 绘制箱线图plt.figure(figsize=(12, 8))sns.boxplot(x='down_level', y='Depth', hue='Depth_Type', data=melted_df, dodge=True)plt.xlabel('Down Level (G)')plt.ylabel('Depth')plt.title('Box Plot of Depth Data by Down Level')plt.legend(title='Depth Type', loc='upper right')plt.grid(True)plt.savefig(f'boxplot.png')print()lvl_list = ["ori", '40', '36', '32', '28', '24', '20']target_header_list = ["loci_median_depth", "loci_average_depth", "dedup_loci_median_depth", "dedup_loci_average_depth", "average_depth", "median_depth", "dedup_average_depth", "dedup_median_depth"]# box_plot(tumor_df, target_header_list)
# box_plot_3(normal_df, target_header_list)
# box_plot_2(normal_df, target_header_list)
box_plot_3(normal_df, target_header_list)
# box_plot_1(normal_df)

box_plot_2图二

box_plot_3图三

参考:
https://blog.csdn.net/Artoria_QZH/article/details/102790740
R:https://www.modb.pro/db/451162

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/316895.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Transformers 自然语言处理(二)

原文:zh.annas-archive.org/md5/a1e65552fc41f3b5a667f63d9bed854c 译者:飞龙 协议:CC BY-NC-SA 4.0 第四章:从头开始预训练 RoBERTa 模型 在本章中,我们将从头开始构建一个 RoBERTa 模型。该模型将使用我们在 BERT 模…

DVWA靶场

DVWA是指Damn Vulnerable Web Application,是一个用于教育和训练网络安全人员的虚拟漏洞应用程序。DVWA模拟了一个包含了多种常见Web安全漏洞的虚拟环境,包括SQL注入、XSS攻击、CSRF攻击等等。通过使用DVWA,安全人员可以学习和实践各种Web安全…

Django-admin单例模式和懒加载

Django-admin单例模式和懒加载 单例模式 class Foo:def __init__(self):self.name "张三"def __new__(cls, *args, **kwargs):empty_object super().__new__(cls)return empty_objectobj1 Foo() obj2 Foo()当我们实例化对象时,就会在内存开一个空间…

呆马科技——智慧应急执法监管平台

在当今社会,安全生产的重要性日益凸显。对于各级政府和企事业单位,当务之急是如何高效地对突发事件进行执法管理。平台应运而生,旨在通过信息化、智能化技术,提升安全管理的效率与准确性。 一、平台特点 整合各类平台的信息资源&…

公园景区伴随音乐系统-公园景区数字IP广播伴随音乐系统建设指南

公园景区伴随音乐系统-公园景区数字IP广播伴随音乐系统建设指南 由北京海特伟业任洪卓发布于2024年4月23日 随着“互联网”被提升为国家战略,传统行业与互联网的深度融合正在如火如荼地展开。在这一大背景下,海特伟业紧跟时代步伐,凭借其深厚…

jqGrid用法汇总(全经典)

jqGrid可以绑定XML,JSON和数组三种类型的数据。接下来通过本文给大家介绍jqGrid用法的相关知识,感兴趣的朋友一起学习吧 支持多种类型的数据集合作为数据源 jqGrid可以绑定三种类型的数据:XML,JSON和数组。使用不同的数据类型主要是设置datatype属性,它的值分别为…

Mysql--基础知识点--0.1--脏读、不可重复读、幻读

1 脏读、不可重复读、幻读 1.1 脏读 如果一个事务读到了另一个事务已修改且未提交的数据,则发生了脏读现象。 1.2 不可重复读 在一个事务里面多次读取同一个数据,若前后两次读到的数据不一致,则发生不可重复读现象。 1.3 幻读 在一个…

jdk版本冲突,java.lang.UnsupportedClassVersionError: JVMCFRE003

主要是编辑器所用的jdk版本和项目用的不一致导致的,虽然编译通过了,但是运行是会报错 选好后点击Apply点击ok,然后重新编译一遍项目就可以了

信息系统项目管理师——第14章项目沟通管理

本章节内容属于10大管理知识领域中的重点,选择、案例、论文都会考,而且是高频考点,需要我们重点学习。 选择题,稳定考3分左右,新教材基本考课本原话,这个分不能丢。 案例题,本期考的概率不高。 …

Eudic欧路词典for Mac:专业英语学习工具

Eudic欧路词典for Mac,作为专为Mac用户设计的英语学习工具,凭借其简捷高效的特点,成为众多英语学习者不可或缺的助手。 Eudic欧路词典for Mac v4.6.4激活版下载 这款词典整合了多个权威词典资源,如牛津、柯林斯、朗文等&#xff0…

VUE+TS使用elementUI的el-checkbox双重v-for循环做勾选

html部分 <template><div class"hello"><el-form :model"elForm"> <!-- cities对象数组形式 --><el-form-item v-for"(item, topIndex) in cities" :key"topIndex"> <!--item.checked 是每一个item…

2分钟自己写小游戏:使用js和css编写石头剪刀布小游戏、扫雷小游戏、五子棋小游戏。新手老手毕业论文都能用。

系列文章目录 【复制就能用1】2分钟玩转轮播图,unslider的详细用法 【复制就能用2】css实现转动的大风车&#xff0c;效果很不错。 【复制就能用3】2分钟自己写小游戏&#xff1a;剪刀石头布小游戏、扫雷游戏、五子棋小游戏 【复制就能用4】2024最新智慧医疗智慧医院大数据…

sheng的学习笔记-AI-支持向量机(SVM)

目录&#xff1a;sheng的学习笔记-AI目录-CSDN博客 目录 什么是向量机 SVM算法原理 SVM基本模型 SVM对偶问题 什么是对偶问题&#xff1a; 为什么使用对偶问题 拉格朗日定理 拉格朗日乘子法 对偶问题算法 非线性SVM算法原理 核函数 常用核函数 软间隔与正则化 软…

数之寻软件怎么样?

数之寻软件是一款功能强大的数据恢复和备份软件&#xff0c;以下是对其特点和功能的详细评价&#xff1a; 一、数据恢复方面&#xff1a; 高效的数据恢复能力&#xff1a;数之寻软件采用了先进的算法和数据恢复技术&#xff0c;能够快速有效地恢复丢失或损坏的数据。无论是文…

Redis缓存介绍以及常见缓存问题:穿透、雪崩和击穿

概念 缓存就是数据交换的缓冲区&#xff08;Cache&#xff09;&#xff0c;是存贮数据的临时地方&#xff0c;一般读写性能较高。 作用&#xff1a; 降低后端负载 提高读写效率&#xff0c;降低相应时间 成本&#xff1a; 数据一致性成本 代码维护成本 运维成本 缓存更…

分享一个网站实现永久免费HTTPS访问的方法

免费SSL证书作为一种基础的网络安全工具&#xff0c;以其零成本的优势吸引了不少网站管理员的青睐。要实现免费HTTPS访问&#xff0c;您可以按照以下步骤操作&#xff1a; 一、 选择免费SSL证书提供商 选择一个提供免费SSL证书的服务商。如JoySSL&#xff0c;他们是国内为数不…

JWT原理解析

一、概述 虽然现在很多的开发框架会支持JWT的使用&#xff0c;但是对JWT还是没有一个详细的了解&#xff0c;有很多疑惑&#xff1a; JWT比之前的session或者token有什么好处&#xff1f;JWT的构成元素是什么&#xff1f;JWT从生成到使用的详细流程&#xff1f; 二、 JWT 2…

字节5面挂,恶心到了。。。

字节五面 今天脉脉看到一篇帖子&#xff1a; 楼主是 tx 的前员工&#xff0c;在字节五面&#xff08;加轮&#xff09;被挂后&#xff0c;认定&#xff08;或许私下做了一些调查&#xff09;是字节 HR 向 tx 背调&#xff0c;然后被前同事捏造虚假信息&#xff0c;导致的面试失…

网页基本标签

标题标签 <h1>一级标题</h1> <h2>二级标签</h2> <h3>三级标签</h3> <h4>四级标签</h4> <h5>五级标签</h5> <h6>六级标签</h6>标题标签一共有六级&#xff0c;大小从一级开始逐级往下递减&#x…

【数据结构】三、栈和队列:2.顺序栈共享栈(顺序栈的初始化,判空,进栈,出栈,读取栈顶,顺序栈实例)

文章目录 1.顺序栈1.1初始化1.2判空1.3进栈1.4出栈1.5读取栈顶1.6销毁栈❗1.7顺序栈c实例 2.共享栈2.1初始化2.2判满 1.顺序栈 用顺序存储实现的栈 顺序栈的缺点&#xff1a;栈的大小不可变。 #define MaxSize 10 //定义栈中元素的最大个数 typedef struct{ElemType data[…