我根据三种不同的实验条件(阿尔法、贝塔和伽马)列出了每种蛋白质的蛋白质和值。包含这些值的数组称为“heatmap_data”。蛋白质的名称在一个名为“text”的数组中。
我生成了一个热图:
rows = ['ALPHA' ;'BETA '; 'GAMMA']
rowscell = cellstr(rows)
dm=DataMatrix(heatmap_data,rowscell,text);
cg = clustergram(dm,'Standardize','none');
cgAxes =plot(cg);
set(cgAxes, 'Clim', [-1,1])当蛋白质列表很短时,我得到了预期的热图,显示了x轴的标签。

然而,当列表扩展到几百个时,名字就消失了。

我能理解标签可能不适合在短的空间,但如果它们是写的,我可以减少字体大小,或扩大树状图等。
我的问题是:是否有一种方法可以强迫MATLAB显示列名,即使它们是重叠的,或者一个函数,我可以按照树状图的顺序保存名称,这样我就可以识别每个簇中有哪些蛋白质?
谢谢
发布于 2017-05-09 17:50:56
好的,我找到了这个:https://www.mathworks.com/help/bioinfo/ref/clustergram.html
数字的RowLabelsValue向量或字符向量的单元格数组来标记树状图和热图中的行。默认值是值1到M的向量,其中M是数据中的行数。注意: 如果行标签的数目为200或更多,则除非放大,否则标签不会出现在群集图中。
现在,如果我放大,我可以看到名字。
https://stackoverflow.com/questions/43874050
复制相似问题