我正在或多或少地执行以下操作:
figure
for ii=1:4
subplot(2,2,ii)
imshow(image(ii))
hcb = colorbar;
switch ii
case 1
colormap(myMap)
set(hcb,'YTickLabel', .. )
set(hcb,'YTick', .. )
case 2
colormap(myMap)
set(hcb,'YTickLabel', .. )
set(hcb,'YTick', .. )
case 3
colormap(myMap)
set(hcb,'YTickLabel', .. )
set(hcb,'YTick', .. )
case 4
colormap(aDifferentMap)
set(hcb,'YTickLabel', .. )
set(hcb,'YTick', .. )
end
end
我要面对的是,为第四幅图(
colormap(aDifferentMap)
)调用ii=4
,将前三幅图的工作搞砸了:在我的最终图中,所有颜色条都具有aDifferentMap
色图,并且YTick
属性也存在一些问题。如果我在情况4中将
colormap(aDifferentMap)
注释掉,那么一切都很好(除了第四个子图,它将有一个错误的颜色图,并且没有Ytickes)。我该如何处理?如何在不影响子图1:3的情况下设置
subplot(2,2,4)
的属性? 最佳答案
对于 Matlab 2014a,在应用answer of Phil Goddard之前,您需要使用例如FileExchange中的 freezeColors
。
在 Matlab 2014b 中,使用update of the graphics engine to version HG-2解决了该问题。现在,除非单独设置轴颜色图,否则颜色图会影响图中的所有轴。 (来自doc)
figure
ax1 = subplot(2,1,1);
surf(peaks)
colormap(ax1,spring)
ax2 = subplot(2,1,2);
surf(peaks)
colormap(ax2,winter)