首页 > 解决方案 > 在 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))

标签: pythonheatmap

解决方案


那么你应该以英寸为单位设置图形的大小,例如:

plt.figure(figsize=(20,10))

您可以尝试多种尺寸,看看哪种尺寸最适合您。


推荐阅读