1
我正在繪製matplotlib中的幾個熱圖,如下所示。matplotlib中的自定義pcolor
這裏是我的循環:
with open(gene_peak) as f:
count = 1
for line in f:
np_array=[]
gene_peak = line.strip().split("\t")
gene_id = gene_peak[0]
peaks = gene_peak[1].split(",")
for peak in peaks:
np_array.append(enhancer_fc[peak])
data, pval = stats.spearmanr(np.transpose(np.array(np_array)))
plt.subplot(4,3,count+1)
# plt.title(gene_id)
plt.pcolor(data, cmap=plt.cm.OrRd, vmin=-1, vmax=1)
plt.gca().invert_yaxis()
plt.gca().set_aspect(aspect='equal', adjustable='box-forced')
plt.xticks([])
plt.yticks([])
print count
count += 1
plt.show()
我繪製不同尺寸的不同的二維數組的Spearman相關。
問題:
有相關值,所以它們的範圍從-1到1。我要添加定製彩條(),使得上面0.4開始值表示的紅色和低於-0.4的梯度表示的梯度的藍色,這樣我只顯示大於0.4且小於-0.4的點。
此外,我想繪製只有一個彩條(),使得圖像看起來更乾淨。任何幫助將不勝感激,謝謝。