- 积分
- 23
- 注册时间
- 2010-11-7
- 仿真币
-
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2013-1-5 22:00:23
|
显示全部楼层
来自 天津
本帖最后由 liuyalong008 于 2013-1-5 22:04 编辑
qibbxxt 发表于 2013-1-5 15:35
恩,不错,要设置两套colormap,似乎是有点难度,因为
colormap(ax,...) uses the figure correspondingto ...
感谢点拨
实际上在matlab中单个的figure中没法生成两个colormap
fileexchange中提供函数,但是还有个问题就是没法消隐
所以3D效果很差
- [x,y,z]=meshgrid(-10:0.2:10);
- p=-z +3*(1-x).^2.*exp(-(x.^2) - (y+1).^2) ...
- - 10*(x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2) ...
- - 1/3*exp(-(x+1).^2 - y.^2);
- [xi,yi]=meshgrid(-10:.1:10);
- zi=exp(sin(xi)+cos(yi));
- figure
- h2=contourslice(x,y,z,p,xi,yi,zi,[6]); %绘制六条等值线
- H=gca;
- colormap(cool)
- freezeColors;
- hh=colorbar;
- set(H,'color','none')
- try cbfreeze(hh), catch,freezeColors(hh), end
- ax=axes
- h1=slice(x,y,z,p,xi,yi,zi);
- colormap(pink)
- freezeColors;
- h=colorbar;
- shading interp
- try cbfreeze(h), catch,freezeColors(h), end
- set(ax,'color','none')
- set(ax,'xlim',get(H,'xlim'))
- set(ax,'ylim',get(H,'ylim'))
- set(ax,'zlim',get(H,'zlim'))
- set(ax,'xtick',get(H,'xtick'))
- set(ax,'ytick',get(H,'ytick'))
- set(ax,'ztick',get(H,'ztick'))
- set(ax,'Projection',get(H,'Projection'))
- set(ax,'CameraViewAngle',get(H,'CameraViewAngle'))
- set(ax,'CameraPosition',get(H,'CameraPosition'))
- set(ax,'position',get(H,'position'))
- set(ax,'OuterPosition',get(H,'OuterPosition'))
- set(ax,'ALim',get(H,'ALim'))
- set(ax,'CameraPositionMode',get(H,'CameraPositionMode'))
- set(ax,'CameraViewAngleMode',get(H,'CameraViewAngleMode'))
- set(ax,'XLimMode',get(H,'XLimMode'))
- axes(ax)
- view(-43 ,46)
- axes(H)
- view(-43, 46)
复制代码 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
|