python绘制基因结构图_Python 基于基因表达量绘制热图

Python版本3.7

import pandas as pd

import numpy as np

import seaborn as sns #用于绘制热图的工具包

#from scipy.cluster import hierarchy #用于进行层次聚类,话层次聚类图的工具包

#from scipy import cluster

import matplotlib.pyplot as plt

#from sklearn import decomposition as skldec #用于主成分分析降维的包

#读取数据

df = pd.read_csv('./workspace/all-2.txt', sep='\t', index_col=0, header=0)

#转成矩阵用于标准化数据

np_data = np.array(df.values)

#print(nu_data)

#计算每一行的均值

average_line =np.array(df.mean(axis=1))

#计算每一行的标准差

std_line = np.array(df.std(axis=1))

#print("=================")

#print(average_line)

# np_data.T 将数据转置后减去每一行的均值矩阵获得差值矩阵

L = np_data.T - average_line

#print(L.T)

#差值矩阵除以每一行的标准差 获得均一化之后的值

K = L/std_line

#均一化之后的矩阵转置获得原始排序的矩阵

array_data_std = K.T

#print(array_data_std)

#转成pandas的DataFrame 并 添加行和列索引

df_sdt = pd.DataFrame(array_data_std,index= df.index)

df_sdt.columns = df.columns

print(df_sdt)

#输出热图

g = sns.clustermap(df_sdt, center=0, yticklabels=false, cmap = 'RdBu')

#print(g)

plt.show()

R结果与python结果比对没有差异

Python结果

Figure_1.png

> library(pheatmap)

> heat

> a

R结果

Rspace.png