Matlab画图时_Marker过多的解决方法

上传人:ZJ****3 文档编号:46827282 上传时间:2018-06-28 格式:PDF 页数:3 大小:336.90KB
返回 下载 相关 举报
Matlab画图时_Marker过多的解决方法_第1页
第1页 / 共3页
Matlab画图时_Marker过多的解决方法_第2页
第2页 / 共3页
Matlab画图时_Marker过多的解决方法_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《Matlab画图时_Marker过多的解决方法》由会员分享,可在线阅读,更多相关《Matlab画图时_Marker过多的解决方法(3页珍藏版)》请在金锄头文库上搜索。

1、Mynford(308491581)20130111 Matlab 画图时画图时 Marker 太密了怎么办?太密了怎么办? 在写论文时,曲线图有时需添加 Marker 以使图片更美观。可用 Matlab 画 图有时 Marker 会非常密集。这个问题在写论文碰到过,分享一下自己的解决方 法。为简便起见假定要画的图为正弦曲线。 Matlab 画图的代码如下: M=400; x=linspace(-pi,pi,M); y=sin(2*x); plot(x,y,*r-) xlabel(t/s) ylabel(amplitude) title(sine wave); 生成的图如图1所示,Marker

2、过于密 集。 图 1 1.减少样点的数量减少样点的数量 产生 Marker 太多的原因是数据太密集,可通过减少数 据的个数来减少 Marker 数量。 上述代码中,令 M=100 即可 得到图 2。这种方法最简单。 对数据进行抽样,会造成数据 的丢失。故当数据变化缓慢时 尚可用。若相邻数据点的值变 化较大,则可能导致部分特征点的丢失,从而引起图像的失 真。 图 2 M=100 时的曲线图 Mynford(308491581)20130111 2. 采用采用 hold on 语句语句添加添加 Marker 图 3. hold on 添加 Marker 代码如下: M=400; x=linspac

3、e(-pi,pi,M); y=sin(2*x); %marker 的参数定义的参数定义 markSpacing=20; %每20个点添加一个Marker x_marker=x(1:markSpacing:M);% Markers 的横坐标 y_marker=y(1:markSpacing:M); % Markers的纵坐标 hold on plot(x_marker,y_marker,r*) %画出 plot(x,y,r-) xlabel(t/s),ylabel(amplitude),title(sine wave); 该方法很灵活, 可以自己控制 Marker 的个数和类型, 同时不会丢失原

4、来的数据。 采用采用 hold on 方法添加方法添加 Marker 时,时,Legend 的添加的添加 figure x=linspace(-pi,pi,M); y=sin(2*x); %取出数据的前两个点用于生成legend xlegend=x(1:2); ylegend=y(1:2); markSpacing=50; x_marker=x(1:markSpacing:M); Mynford(308491581)20130111 y_marker=y(1:markSpacing:M); hold on plot(xlegend,ylegend,-ro) %添加添加legend plot(x_marker,y_marker,ro) plot(x,y,r-) xlabel(t/s) ylabel(Amplitude) title(sine wave) legend(The proposed method) 用方法 2 的一个缺点是不能自动生成正确的 legend,这个问题可通过 Matlab 生成 legend 时总是安顺序进行生成这一性质实现, 从上述代码易看出实现方法。 上述代码运行效果如下: 图 4 添加 legend

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号