Matlab 版 (精华区)
发信人: ramjet (史努比狗), 信区: Matlab
标 题: [合集]求助版主和数据可视化高手。
发信站: 哈工大紫丁香 (2003年07月08日22:41:38 星期二), 站内信件
────────────────────────────────────────
flyingcat (flyingcat) 于
敬爱的版主:
小弟编了个GUI,用patch画了个三维的图形,用颜色表示图形表面的温度值。现在有
以下几个问题:
1。我用mcc -B -sglcpp mygui 编译之后,发现原来的系统菜单没有了,我主要是用到to
ols\move camera,命令,能否在编译的时候把原来的这项功能加上?
2。我的三维图形的边上有个colorbar,用来标示温度与颜色的对应关系,可是总是不能达
到
精确的对应,我修改了colorbar的yticklabel值,可是这个colorbar的标示当yticklabel
值少时,就重复前面的直,yticklabel值多了有显示不下,我觉得这个很难,要找到温度
和颜色的对应关系,斑竹有什么好办法吗?
3。matlab缺省的colormap是什么?
4。patch命令的颜色和系统的colormap有什么对应关系吗?
小弟的问题多了些,还望海涵,先谢了。
────────────────────────────────────────
flyingcat (flyingcat) 于 我的.m文件如下:拜托了版主!!!
function bottonKSYS_Callback(hObject, eventdata, handles)
cla;
load 'anwei2.mat'; %数据文件,有坐标值mypoint,面index值mycoord1,温度值s1
%load 's1.mat';
axis equal vis3d off;
box off;
u=s1;
mymin=min(u);
mymin=min(mymin');%求温度最小
mymax=max(u);
mymax=max(mymax');%求温度最大
range=mymax-mymin;
cmap=gray(190);
tt=mymin:20:mymax;%开始设温度标尺
tt=tt';
bb=colorbar;
set(bb,'YTicklabel',num2str(tt));%设温度标尺
ucolor=(u-repmat(mymin,size(u,1),size(u,2))).*(size(cmap,1));%把温度值换算为色
彩的序号
urange=mymax-mymin;
urange(find(urange==0))=1;
ucolor=round(ucolor./repmat(urange,size(u,1),size(u,2)));
uslice=ucolor(:,1);%到此处温度值换算为色彩的序号
patch('Vertices',mypoint1(1:305,:),'faces',mycoord1(1:176,:),'facevertexcdata'
,cmap(uslice(:)+1),'facecolor','interp');
view(3);
────────────────────────────────────────
zjliu (秋天的萝卜) 于 2003年07月03日19:51:02 星期四 说道:
第一个问题我还不懂,后三个问题我的理解是
2. 关于colorbar的yticklabel的个数,我想你
修改的时候应注意修改后的yticklabel的个
数应和原来的默认个数相等
3. 你通过aa=colormap这个语句,aa就应该是
matlab的默认值
4. 你通过bb=patch查一下patch的数值分布,自
己比较一下它们的对应关系
────────────────────────────────────────
zjliu (秋天的萝卜) 于 2003年07月03日19:52:43 星期四 说道:
你把这个程序的问题说一下,我现在忙
明天再考虑一下罢
────────────────────────────────────────
flyingcat (flyingcat) 于 太感谢了!这个程序的问题就是前面提到的。
────────────────────────────────────────
flyingcat (flyingcat) 于 你给的提示很好,我先试一下,谢了。
────────────────────────────────────────
flyingcat (flyingcat) 于 第一个问题是这样的,我的GUI的menubar属性设为on,在matlab下执行有菜单,我把它编译
为.exe就没有菜单了,就剩下File一项了。有何办法可以保留全部菜单,或是部分?
────────────────────────────────────────
flyingcat (flyingcat) 于 我试了你bb=patch,系统仅给出它的句柄的序号,如107.5之类
────────────────────────────────────────
zjliu (秋天的萝卜) 于 2003年07月03日20:15:15 星期四 说道:
你用get(bb)
就可以获得它的信息,至于那个是你要的
就需要你自己找了
────────────────────────────────────────
zjliu (秋天的萝卜) 于 2003年07月03日20:16:58 星期四 说道:
看一下你的bbs信箱
────────────────────────────────────────
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.533毫秒