声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2969|回复: 8

[图像处理] 这样的图如何用matlab画

[复制链接]
发表于 2010-10-17 09:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
比如用下面的代码产生一个填色的等值线图,然后把这个填色的等值线图放在不同的高度上。
谢谢
clc
clear
[X,Y,Z] = peaks(30);
contourf(X,Y,Z);
exp.jpg
回复
分享到:

使用道具 举报

发表于 2010-10-17 16:40 | 显示全部楼层
用四维切片等位线图,contourslice
问题应该不大

点评

赞成: 4.0
赞成: 4
  发表于 2014-3-27 21:20

评分

1

查看全部评分

 楼主| 发表于 2010-10-18 03:16 | 显示全部楼层
这个命令好像只能做contour,不能填色。
给个例子吧,谢谢
发表于 2010-10-18 05:34 | 显示全部楼层
本帖最后由 happy 于 2010-10-18 05:35 编辑

如果需要填充的话,可以先用slice得到切片图,然后用contourslice加上等值线
示例如下:

  1. clf; [X,Y,Z,V]=flow;         %取4个(50×25×25)的射流数据矩阵,V是射流速度。
  2. x1=min(min(min(X))); x2=max(max(max(X)));        %取x坐标上下限
  3. y1=min(min(min(Y))); y2=max(max(max(Y)));        %取y坐标上下限
  4. z1=min(min(min(Z))); z2=max(max(max(Z)));     %取z坐标上下限
  5. sx=linspace(x1+1.2,x2,5);          %确定5个垂直x轴的切面坐标
  6. sy=[];                                 %在y=0处,取垂直y轴的切面
  7. sz=[];                     %在z=0处,取垂直z轴的切面
  8. slice(X,Y,Z,V,sx,sy,sz);          %画切片图
  9. view([-12,30]); shading interp; colormap jet; axis off; colorbar
  10. hold on;
  11. v1=min(min(min(V)));v2=max(max(max(V))); % 射流速度上下限
  12. cv=linspace(v1,v2,15); % 在射流上下限之间取 15 条等位线
  13. contourslice(X,Y,Z,V,sx,sy,sz,cv);
复制代码

太过复杂的图片,有的时候不太适合用matlab来做
尤其是一些流场的,医学方面的,往往都有专业的绘图软件更加方便

点评

赞成: 4.0
赞成: 4
  发表于 2014-3-27 21:20

评分

1

查看全部评分

发表于 2010-10-19 11:31 | 显示全部楼层
本帖最后由 ChaChing 于 2010-10-19 13:56 编辑

大家起头, 小的小改!:@)
x1=min(min(min(X)));应该可以使用x1=min(X(:));
发表于 2010-10-19 14:22 | 显示全部楼层
本帖最后由 happy 于 2010-10-19 14:22 编辑

效果是一样的,长时间没用matlab,个人用的方法通常会比较老
 楼主| 发表于 2010-10-22 08:59 | 显示全部楼层
谢谢大家的回复,继续问。

slice 对于规则的格点是没有问题的。我现在的问题是:我的格点的坐标不是规则,用slice总是出错。有没有其它更好的命令。

目的就是:把不同层次上的台风画到一张图上。比如现在我有地面这个层次上的,为了简化问题,就把这个层次上的图当做500hpa高度的。把这两个放到一起,组成一个三维图片(1)
谢谢
*****************************************************************************
clc
clear
load C:\Yalei\temp\YuanMa\data\LAT3.mat
load C:\Yalei\temp\YuanMa\data\LON3.mat
load C:\Yalei\temp\YuanMa\data\BT3.mat

load coast;
ch1=axesm( 'giso','Grid','off','MapLonLimit',[108 128],'MapLatLimit',[12 28]);plotm(lat,long,'k');
setm(gca,'parallellabel','on','meridianlabel','on','plabellocation',5,'mlabellocation',4,...
    'labelformat','compass','fontsize',10,'fontweight','bold');
setm(gca,'mlabelparallel',0);
axes(ch1);
surfm(LAT1,LON1,BT1);

data.rar

157.83 KB, 下载次数: 5

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-25 21:17 , Processed in 0.070542 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表