我对Matlab很新,并且有一些问题.我在同一个图中有两个表面和一个平面.我想为b使用不同的colormap和colorbar,为c使用另一个colormap和colorbar.s是固定颜色,所以这不是问题.
让我试着解释一下我想要实现的目标:
cmap1 = colormap(topobathy) - > cmap1是64x3双倍的预期
cmap2 =颜色表(redwhitegreen)
使用cmap1创建cdata1(这是我无法弄清楚的第一部分,如何使用cmap1扩展z数据,默认情况下CData包含z值)
B =冲浪(X,Y,Z,cdata1)
使用z值的b的colorbar
c = pcolor(x,y,(z-z0)) - 我想在这个中使用cmap2.
使用(z-z0)值的c的colorbar
这是我到目前为止所遇到的问题
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)`
Run Code Online (Sandbox Code Playgroud)
此时,colormap设置为redwhitegreen为b,colorbar为b我无法获得第二个带有自己攀爬的colorbar等.
我在此链接中使用了freezeColors和cbfreeze:http: //blogs.mathworks.com/pick/2009/07/24/using-multiple-colormaps-in-a-single-figure/
但有一件事是在弄乱另一件事(可能都是我的错).我想学习如何在不使用外部m文件的情况下完全控制我的对象.
任何帮助表示赞赏.
我的身材中有一个3d表面 surf(x,y,z)
我也有一个contourf表面(基本上是一个2D平面).
我在相同的图中绘制它们,但contourf绘图自动处于z=0水平.我想将contourf绘图移动到z=-10(或z轴上的任何值),但我不能这样做.
我相信这很容易但我在MATLAB help/Google中找不到答案.有任何想法吗?