用小数字可视化矩阵
Visualize a matrix with small numbers
我生成了一个随机矩阵。我想在绘图上显示它并查看不同颜色的不同值。
phi = zeros(10,10);
for i= 1:length(phi)
for j=1:length(phi)
phi(i,j) = .5 + .2*(.5-rand);
end
end
Image(phi)
我一直在使用 colorbar 和 caxis 来设置 colorbar 的范围,我已经阅读了一些其他帖子,但它在我的情况下不起作用,我不知道为什么。我想用 100 个单位将颜色条从零设置为 0 到 1。
虽然,我试过了
Image(phi*10)
这给了我一些类似于我想要的东西,但它没有显示 0.42 和 0.45 等接近数字之间的差异。
预先感谢您的帮助。
首先,不需要 for 循环,这样做也是一样的:
phi=.5+.2.*(.5-rand(10));
imagesc(phi);
第二,使用:
colormap(jet(16));
colorbar;
这会将你的颜色图离散化为你想要的级别(或 bin 强度),我选择了 16,但你可以玩它并且 see.It 也使用最大值和最小值作为极值点颜色图。
最后,如果这仍然不够并且您需要更高的动态范围,您将需要编辑颜色图或组合多个颜色图。例如,一种方法是将 b\w 与颜色组合,例如
colormap([jet(8); bone(8)] );
等...
我生成了一个随机矩阵。我想在绘图上显示它并查看不同颜色的不同值。
phi = zeros(10,10);
for i= 1:length(phi)
for j=1:length(phi)
phi(i,j) = .5 + .2*(.5-rand);
end
end
Image(phi)
我一直在使用 colorbar 和 caxis 来设置 colorbar 的范围,我已经阅读了一些其他帖子,但它在我的情况下不起作用,我不知道为什么。我想用 100 个单位将颜色条从零设置为 0 到 1。 虽然,我试过了
Image(phi*10)
这给了我一些类似于我想要的东西,但它没有显示 0.42 和 0.45 等接近数字之间的差异。 预先感谢您的帮助。
首先,不需要 for 循环,这样做也是一样的:
phi=.5+.2.*(.5-rand(10));
imagesc(phi);
第二,使用:
colormap(jet(16));
colorbar;
这会将你的颜色图离散化为你想要的级别(或 bin 强度),我选择了 16,但你可以玩它并且 see.It 也使用最大值和最小值作为极值点颜色图。
最后,如果这仍然不够并且您需要更高的动态范围,您将需要编辑颜色图或组合多个颜色图。例如,一种方法是将 b\w 与颜色组合,例如
colormap([jet(8); bone(8)] );