matlab

您所在的位置:网站首页 用matlab画三维曲线图 matlab

matlab

#matlab| 来源: 网络整理| 查看: 265

matlab - patch 画渐变色的曲线图

本篇博客主要时记录一下在 matlab 中利用 patch 函数画渐变色曲线时所遇到的问题,及处理方式!

(patch函数主要是用来填充面的颜色,但将填充免得颜色设为 none ,只保留面边缘的颜色变化,则就会实现画出渐变色曲线的功能! )

一开始的程序是

val = Mmm_plane(1:3600,:); % 一组包含三维坐标的数据 xx = [val(:,1)']; % x 坐标 yy = [val(:,2)']; % y 坐标 zz = [val(:,3)']; % z 坐标 da = 1:3600; % 表现数据取值范围 % patch(xx,yy,zz,'edgecolor','flat','facecolor','none') % 利用 patch 画出 val 中对应的曲线 patch(xx,yy,zz,da,'edgecolor','flat','facecolor','none','MarkerFaceColor','flat','LineWidth',2) view(3) grid on; colorbar

结果图是 在这里插入图片描述 上图显示了一个问题,就是 曲线首尾相接。而处理这个问题,查了好一会资料,花费了挺长时间,最后偶然发现了一个很简单的解决方法:给每一组坐标数据添加 nan。

修改后的程序为

val = Mmm_plane(1:3600,:); xx = [val(:,1)',nan]; yy = [val(:,2)',nan]; zz = [val(:,3)',nan]; da = 1:3601; % patch(xx,yy,zz,'edgecolor','flat','facecolor','none') patch(xx,yy,zz,da,'edgecolor','flat','facecolor','none','MarkerFaceColor','flat','LineWidth',2) view(3) grid on; colorbar

运行结果是 在这里插入图片描述 很明显,首尾相接的问题解决了!

上面的是三维的,二维的和上面的解决方法一样!

一开始程序

val = Mmm_plane(1:3600,:); xx = [val(:,1)']; yy = [val(:,2)']; da = 1:3600; % patch(xx,yy,zz,'edgecolor','flat','facecolor','none') patch(xx,yy,da,'edgecolor','flat','facecolor','none','MarkerFaceColor','flat','LineWidth',2) grid on; colorbar

运行结果 在这里插入图片描述 同样的修改方式,就是添加一个 nan,最后运行出来的图为 在这里插入图片描述

好了,这篇博客就这么结束了,that’s all~



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3