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)
页面执行时间:2.666毫秒