【发布时间】:2017-01-18 22:13:37
【问题描述】:
Matlab 能够为每个子图设置单独的颜色图。与Octave docs 描述的功能相同
即以下短语:
函数文件:cmap = colormap (hax, ...) 如果第一个参数 hax 是坐标区句柄,则查询或设置 hax 的父图形的颜色图。
但是当我尝试运行以下代码时,由于某种原因,我最终会为所有子图使用单一颜色图。
clear -all;
clc;
img = zeros(128, 128);
img(64,64) = 0.2;
rad = radon(img);
x = 1;
y = 4;
s1 = subplot(y,x,1); imagesc(img);
colormap(s1, gray);
s2 = subplot(y,x,2); imagesc(rad);
colormap(s2, hot);
colorbar;
line_img = zeros(128, 128);
line_img(64, 32:64) = 0.5;
line_img(63, 32:64) = 0.4;
line_img(63, 32:64) = 0.2;
line_rad = radon(line_img);
s3 = subplot(y,x,3); imshow(line_img);
colormap(s3, gray);
s4 = subplot(y,x,4); imagesc(line_rad);
colormap(s4, hot);
colorbar;
感谢任何帮助。我希望在“热”中有灰度源图像和氡变换图像。出于某种原因,我得到的第一个子图有点像灰度(实际上不是,因为我用值 0.2 初始化点,而倍频程给我纯白色,而我期待相当深的灰色),剩下的图像似乎设置了“热”颜色图。
【问题讨论】:
-
文档说如果你传递一个轴句柄,父图形的颜色图就会改变。这与每个轴具有不同的颜色图不同,因为它们都在同一个图中。