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的点。
此外,我想绘制只有一个彩条(),使得图像看起来更干净。任何帮助将不胜感激,谢谢。