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')
以上就是python數據可視化繪制火山圖示例的詳細內容,更多關於python數據可視化火山圖的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- Python利用 matplotlib 繪制直方圖
- Python利用matplotlib繪制圓環圖(環形圖)的實戰案例
- python之 matplotlib和pandas繪圖教程
- Matplotlib配色之Colormap詳解
- Python可視化學習之seaborn調色盤