python数据可视化绘制火山图示例

作者:Z_Y_H 时间:2022-05-08 03:47:56 

导入模块

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

来源:https://www.jianshu.com/p/0f044813daaf

标签:python,数据可视化,火山图
0
投稿

猜你喜欢

  • Z-Blog实现摘要图文混排效果的方法

    2009-02-23 13:54:00
  • python 合并表格详解

    2023-09-08 16:03:48
  • JSP实现客户信息管理系统

    2023-06-30 05:32:36
  • css清除浮动的方法总结与选择

    2008-06-06 12:58:00
  • 瀑布流布局浅析

    2011-09-16 20:18:09
  • Python中的基本数据类型讲解

    2021-04-29 07:07:24
  • 查看已安装tensorflow版本的方法示例

    2021-09-21 03:49:11
  • 一文让你彻底弄懂js中undefined和null的区别

    2023-07-17 02:21:06
  • 详解PHP变量传值赋值和引用赋值变量销毁

    2023-10-25 00:27:31
  • 对Python强大的可变参数传递机制详解

    2021-06-23 02:54:09
  • Python 下载Bing壁纸的示例

    2023-11-20 00:14:41
  • Python实现在线音乐播放器

    2021-08-24 04:29:12
  • 运行(runCode)复制(copyCode)保存(saveCode)代码框方法

    2007-10-21 08:41:00
  • 让IE8支持eWebEditor在线编辑器

    2010-02-28 10:36:00
  • 平面设计人员必读

    2008-07-16 11:58:00
  • Golang中的sync.WaitGroup用法实例

    2023-08-31 03:57:28
  • python实现五子棋游戏(pygame版)

    2021-09-15 16:01:42
  • python数据分析:关键字提取方式

    2022-03-08 09:23:37
  • 用CSS实现柱状图(Bar Graph)的方法(四)—table实现复杂柱状图

    2008-05-28 12:55:00
  • ASp使用AspJpeg组件制作透明文字水印

    2008-01-15 20:25:00
  • asp之家 网络编程 m.aspxhome.com