|
ChaChing 发表于 2013-5-1 22:08
若能mark出zoom开的部位, 是不是更好, 更明确!?
谢谢版主提醒,这个是以前偶尔看到,所以就复制粘贴上来了,自己稍微做了修改
-
- function zoom(x, x1, x2)
- % x代表一维信号;x1和x2代表要放大区域的横坐标
- % 考虑到坐标不是整数的情况所以用了floor和ceil函数
- haxes1 = axes('position',[0.1 0.1 0.8 0.8]);
- axis(haxes1);
- h1 = plot(x, 'b-');
- hold;
- x1 = floor(x1);
- x2 = ceil(x2);
- h = rectangle('position',[x1, min(x(x1:x2)), x2-x1, max(x(x1:x2))-min(x(x1:x2))]);
- set(h,'edgecolor','red','LineWidth',2);
- haxes2 = axes('position',[0.55 0.55 0.3 0.3]);
- axis(haxes2);
- h2 = plot(x, 'r-');
- axis([x1 x2 min(x(x1:x2)) max(x(x1:x2))]);
- h3 = [h1; h2];
- M = {'总体轮廓';'细节部分'};
- hlegend = legend(h3,M,'Location','northwest');
复制代码
结果:
问题:第二个坐标轴在figure中的具体位置要根据情况自己设定,不然有可能会覆盖原来信号波形,这个还不知道怎么解决。
|
评分
-
1
查看全部评分
-
|