首頁 > 軟體

python資料視覺化繪製火山圖範例

2022-06-25 22:00:14

匯入模組

import numpy as np
import pandas as pd

1.讀取測試資料

data=pd.read_csv(r'E:ZYHR.projectrna-seqlianxi1exon_leveldf.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')

以上就是python資料視覺化繪製火山圖範例的詳細內容,更多關於python資料視覺化火山圖的資料請關注it145.com其它相關文章!


IT145.com E-mail:sddin#qq.com