python - 在 python 中生成清晰的巨型热图
问题描述
我有一个巨大的 26x387 numpy 数组,其中包含一个和零,我想在热图中显示。问题是当我生成这个图时,热图太小了,我无法放大到足够清晰的信息。有没有办法解决这个问题?
这是我当前的代码:
geneResults, cellNames, fileName = getheatmapArray(Data) #here I generate the array
fig, ax = plt.subplots()
heatmap = ax.imshow(geneResults, cmap=plt.cm.get_cmap("gist_yarg"), interpolation="nearest")
fig.tight_layout()
ax.set_xticks(np.arange(len(interestingGenes)))
ax.set_yticks(np.arange(len(cellNames)))
ax.set_xticklabels(interestingGenes, fontsize = 5)
ax.set_yticklabels(cellNames, fontsize = 5)
plt.setp(ax.get_xticklabels(), rotation=45, ha="right",
rotation_mode="anchor")
plt.colorbar(heatmap)
plt.savefig("{}_heatmap.pdf".format(fileName))
解决方案
那么你应该以英寸为单位设置图形的大小,例如:
plt.figure(figsize=(20,10))
您可以尝试多种尺寸,看看哪种尺寸最适合您。