MATLAB热力图

13

我正在尝试使用MATLAB创建热图,但是MATLAB程序中的默认函数对我来说没有任何意义。

http://www.mathworks.com/help/bioinfo/ref/heatmap.html

是否有人可以帮助我进行标记,这样我就可以在之后自己阅读其他函数了?或者有没有其他拥有更加用户友好界面的程序?

HeatMap(Data, ...'RowLabels', RowLabelsValue, ...)

我有一个数据集,其中包含一个 81*2 的矩阵,并且我的标签为 81*1 的单元格,用于 x 轴和 1*2 的单元格用于 y 轴。现在我可以成功地导入 Excel 数据并使用热图绘制数据,但我很难在 HeatMap 函数中填写变量。

非常感谢。


1
热力图获取的数据是一个矩阵。如果我理解正确,您只有(x,y)矩阵坐标。首先尝试从您的x-y坐标构建矩阵。 - bla
你的意思是你想要一个已经聚类过的热力图吗? - Bitwise
4个回答

27

HeatMap并不是标准的函数,它来自于生物信息学工具箱。简单绘制热图的方法可能是这样的:

 A = 1:50;          % matrix to draw
 colormap('hot');   % set colormap
 imagesc(A);        % draw image and scale colormap to values range
 colorbar;          % show color scale

正如 @natan 建议的那样,你可能希望先构建矩阵,然后使用 imageimagesc 进行绘制。此外,你可能还想看一下我博客上的文章,其中展示了某些颜色集比其他颜色更易于辨别,例如在灰度或色觉缺陷打印时。


简单而优雅,可爱! - Gerard

2
我不确定你实际想要实现什么,但我认为你可能想使用 colormap{}。如果你想创建一个经典的 "heatmap",那么 colormap 就是你想要的函数。基本上,如果你有 x、y 位置和一个你想要表示为颜色的 Z 值,这就是适合你的技巧。

0

您可以使用Plotly MATLAB API制作热力图。尝试以下操作:

r = plotly({struct('z',randn(50,50), 'type','heatmap')}) % => https://plot.ly/~matlab_example/18dos(['open ', r.url])

this heatmap

您可以在此处查看交互式版本和安装链接

声明一下,我是Plotly团队的成员。


0

MATLAB contourf 命令可能对您有用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接