Я новичок в Matlab, и у меня есть несколько вопросов. У меня есть две поверхности и плоскость на одном рисунке. Я хочу использовать разные палитры и шкалы цветов. для b и другой цветовой карты и шкалы цветов для c. s - фиксированный цвет, так что это не проблема.
Позвольте мне попытаться объяснить, чего я пытаюсь достичь:
cmap1 = colormap (topobathy) -> cmap1 равен 64x3, как и ожидалось
cmap2 = colormap (redwhitegreen)
create cdata1 используя cmap1 (это первая часть, которую я не могу понять, как масштабировать данные z с помощью cmap1, по умолчанию CData содержит значения z)
b = surf (x, y, z, cdata1)
colorbar для b с использованием значений z
c = pcolor (x, y, (z-z0)) - я хочу использовать cmap2 для этого.
цветовая шкала для c с использованием значений (z-z0)
Вот то, что у меня было до сих пор, и проблемы, с которыми я сталкиваюсь
b=surf(x,y,z);
colormap(topobathy);
cbar1=colorbar;
set(get(cbar1,'ylabel'),'String', 'Elevation (m)', 'Rotation', 90)
hold on;
s=surf(x,y,z1,'FaceColor',[0.278 0.788 0.788])
hold on;
change=z-z0;
c=pcolor(x,y,change)
set(c,'ZData',100 + 0*change); %plotting it above the other surfaces
colormap(redwhitegreen)`
в этот момент цветовая карта установлена на красно-белый-зеленый для b, цветовая шкала на b {{ 1}} Я не могу получить вторую цветовую панель с ее собственным подъемом и т. Д.
Я использовал freezeColors и cbfreeze, описанные в этой ссылке: http://blogs.mathworks.com/pick / 2009/07/24 / using-multiple-colormaps-in-a-single-figure /
но одно работает, а другое напутывает (вероятно, это моя вина). Я хочу узнать, как получить полный контроль над своими объектами, в любом случае не используя внешние m-файлы.
Любая помощь приветствуется.