1

我有一个看起来像这样的矩阵:

0.06    -0.22   -0.10   0.68    NaN     -0.33
0.04    -0.07   0.12    0.23    NaN     -0.47
NaN     NaN     NaN     NaN     NaN     0.28
0.37    0.36    0.14    0.58    -0.14   -0.15
NaN     0.11    0.24    0.71    -0.13   NaN
0.57    0.53    0.41    0.65    -0.43   0.03

我想根据颜色图为每个值着色。在 Python 中,我知道我可以imshow为每个框指定颜色。我怎样才能在 MATLAB 中做到这一点?

4

1 回答 1

5

您也可以使用 imshow,但每个像素都将具有屏幕像素的大小。所以你可能宁愿使用imagesc.

A =  [...
0.06    -0.22   -0.10   0.68    NaN     -0.33;
0.04    -0.07   0.12    0.23    NaN     -0.47;
NaN     NaN     NaN     NaN     NaN     0.28;
0.37    0.36    0.14    0.58    -0.14   -0.15;
NaN     0.11    0.24    0.71    -0.13   NaN;
0.57    0.53    0.41    0.65    -0.43   0.03 ]

imagesc(A)

然后您可以应用任何您想要的颜色图或创建您自己的颜色图。

colormap(jet)
colorbar

在此处输入图像描述


如果您不喜欢如何imagesc处理您NaN的 s 考虑使用pcolor

pcolor(A)
colormap(jet)
colorbar

在此处输入图像描述

shading flat您一起可以摆脱网格线。

于 2015-03-19T19:00:26.397 回答