python数据可视化绘制火山图示例
作者:Z_Y_H 发布时间:2022-05-08 03:47:56
标签:python,数据可视化,火山图
导入模块
import numpy as np
import pandas as pd
1.读取测试数据
data=pd.read_csv(r'E:\ZYH\R.project\rna-seq\lianxi1\exon_level\df.csv')
2.查看数据
data.head()
3.筛选差异基因
# 3.尝试写循环筛选上下调基因分类赋值给 "up" 和 "down" 和 "nosig" 加入pvalue条件
###loc函数:通过行索引 "Index" 中的具体值来取行数据(如取"Index"为"A"的行)
data.loc[(data.log2FoldChange>1)&(data.padj<0.05),'type']='up'
data.loc[(data.log2FoldChange<-1)&(data.padj<0.05),'type']='down'
data.loc[(abs(data.log2FoldChange)<=1)|(data.padj>=0.05),'type']='nosig'
4.查看数据,发现多了type这一列
data.head()
5.统计个数
data.type.value_counts()
up 123
down 103
Name: type, dtype: int64
6.绘火山图
import seaborn as sns
import math
import matplotlib.pyplot as plt
import matplotlib as mpl
%matplotlib inline
# 对padj取个-log10对数
data['-logpadj']=-data.padj.apply(math.log10)
# 查看
data[['log2FoldChange','padj','type','-logpadj']].head()
# 先设置一下自己的颜色
colors = ["#01c5c4","#ff414d", "#686d76"]
sns.set_palette(sns.color_palette(colors))
# 绘图
ax=sns.scatterplot(x='log2FoldChange', y='-logpadj',data=data,
hue='type',#颜色映射
edgecolor = None,#点边界颜色
s=8,#点大小
)
# 标签
ax.set_title("vocalno")
ax.set_xlabel("log2FC")
ax.set_ylabel("-log10(padj)")
#移动图例位置
ax.legend(loc='center right', bbox_to_anchor=(0.95,0.76), ncol=1)
7.保存图片
fig = ax.get_figure()
fig.savefig('./python_vocalno.pdf')
来源:https://www.jianshu.com/p/0f044813daaf


猜你喜欢
- 我就废话不多说了,大家还是直接看代码吧!import pymysqlimport pandas as pddef con_sql(db,sq
- Vue在目前是很好的框架,第一次使用Vue开发项目,刚开始的时候在一个控制开关的组件都花费了很久的时间,问题解决了,把自己的一些小问题给记录
- 因为有个老Yashica相机机身,前一阵忍不住想配几个标准镜头。到国内购物网站以及摄影器材交流论坛上看了看,发现不仅很少,价格不实在,而且品
- 概述Visdom:一个灵活的可视化工具,可用来对于 实时,富数据的 创建,组织和共享。支持Torch和Numpy还有pytorch。visd
- 方法一:巧用sum函数将list列表与一个空列表相加,就能把嵌套列表合并成一个a=[[1],[2],[3],[4],[5]]merge=su
- 前言对话框是很常用的组件 , 在很多地方都会用到,一般我们可以使用自带的alert来弹出对话框,但是假如是设计出的图该怎么办呢 ,所以我们需
- 1.问题描述当我们在实用ElementUI组件完成项目的时候可能会遇到这样的需求,比如:新建一个活动,需要定义活动的时间范围;因此我们在新建
- 元数据简介元数据 (metadata) 最常见的定义为“有关数据的结构数据”,或者再简单一点就是“关于数据的信息”,日常生活中的图例、图书馆
- 本文实例讲述了Python实现列表转换成字典数据结构的方法。分享给大家供大家参考,具体如下:'''[ {
- 前言Vuex 是一个专为 Vue.js 应用程序开发的 状态管理模式 。它借鉴了Flux、redux的基本思想,将共享的数据抽离到全局,同时
- 装饰器基本概念大家都知道装饰器是一个很著名的设计模式,经常被用于 AOP (面向切面编程)的场景,较为经典的有插入日志,性能测试,事务处理,
- 前言本文大概内容:例如:随着ElementUI前后端交互的技术的更新,用户的的体验越来越好。本文主要针对用户在保持原页面结构,再添加另一个页
- 简要pyinstaller模块主要用于python代码打包成exe程序直接使用,这样在其它电脑上即使没有python环境也是可以运行的。用法
- 本文实例讲述了Python用于学习重要算法的模块pygorithm。分享给大家供大家参考,具体如下:这是一个能够随时学习重要算法的Pytho
- 前言订单并发这个问题我想大家都是有一定认识的,这里我说一下我的一些浅见,我会尽可能的让大家了解如何解决这类问题。在解释如何解决订单并发问题之
- 引入我们在使用mysql数据库时,习惯使用int型作为主键,并设置为自增,这既能够保证唯一,使用起来又很方便,但int型的长度是有限的,如果
- 最近在做一个小案例的时候遇到了Math.max.apply这么一个用法,之前很少遇到过感觉挺有趣的,就记录一下。1Math.max语法: M
- 数据库中有user表如下:新建一个Django项目:django-admin.py startproject myDjango<pro
- 一、前言在Python中,类表示具有相同属性和方法的对象的集合。在使用类时,需要先定义类,然后再创建类的实例,通过类的实例就可以访问类中的属
- 其实网上已经有很多ASP生成htm的文章了,有一种方法是ASP+XML的生成方法,虽然有一种好处就是不用程序写模版就可以直接引用原来的要生成