请帮我这个热图

时间:2014-08-21 14:55:54

标签: colors scale heatmap

我用以下代码编译了一张热图:

compounds=uiimport('matrix.txt');
names=uiimport('names.txt');
stages=['Stage ' '3';'Stage ' '6';'Stage ' '9';];
imagesc(compounds.matrix);
colorbar;
colormap('winter');
title('Heat map of ...')
ylabel('Compounds');
xlabel('Developmental stage');
set(gca,'YTick',1:21,'YTickLabel',names.names)
set(gca,'XTick',1:3,'XTickLabel',stages)

一切正常,我不想更改代码,因为它来自上传我的数据,但我无法弄清楚如何添加代码(或者我应该说什么样的代码)将调整我的热图颜色at at特定的比例数。 我想要的是红色到绿色(0到10),值为1为黑色。 另外,我的比例是0到100,但我希望比例从1到10可见,然后有一个间隙,顶部只看100.

非常感谢提前。

1 个答案:

答案 0 :(得分:0)

此处未列出语言要求,但我可以假设您使用的是matplotlib或matlab。

您可以通过休息来指定请求的第一部分。设定某些范围。他们在这里有一个很好的解释

Color a heatmap in Python/Matplotlib according to requirement

更技术性的方法是实际创建自己的色彩图

colors = [('white')] + [(cm.jet(i)) for i in xrange(1,256)]
new_map = matplotlib.colors.LinearSegmentedColormap.from_list('new_map', colors, N=256)

您可以在此处指定特定范围的颜色,此示例中白色为0,其余为标准流动范围

信用: Make reverse diagonals white in heatmap