温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么使用python绘制火山图

发布时间:2022-07-08 14:00:00 来源:亿速云 阅读:267 作者:iii 栏目:开发技术

这篇文章主要讲解了“怎么使用python绘制火山图”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用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()

怎么使用python绘制火山图

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()

怎么使用python绘制火山图

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()

怎么使用python绘制火山图

# 先设置一下自己的颜色
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)

怎么使用python绘制火山图

7.保存图片

fig = ax.get_figure()
fig.savefig('./python_vocalno.pdf')

感谢各位的阅读,以上就是“怎么使用python绘制火山图”的内容了,经过本文的学习后,相信大家对怎么使用python绘制火山图这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI