本文主要介绍,图形绘制时,如何在MATLAB中设置全图中局部放大的位置,以及调整局部放大图的大小以及局部放大图在全图中的相对位置。
MATLAB例题程序源代码
%CSDN账号:MATLAB码农
clc;
clear all;
N=20000;
i=1:1:N;
a=sqrt(100)*randn(1,N/5);
b=randn(1,N);
c=[a,b];
h1=plot(i,c(i),':.b','LineWidth',0.7);
legend(h1,'signal')
xlabel('t/s');ylabel('signal');
xlim([0,20000]); % 设置坐标轴范围
ylim([-40,80]);
title('signal')
%生成局部放大图 程序代码如下
axes('Position',[0.45,0.55,0.38,0.28]);
plot(i,c(i),':.B','LineWidth',0.7);
xlim([14000,15000]); % 设置坐标轴范围
MATLAB程序运行结果
![](https://i-blog.csdnimg.cn/blog_migrate/e3513abf008640b00a2ac5fc0553d520.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/49ebebbb903c910ff5db1dbec04b26f6.jpeg)
由于在绘制图形时,很多时候 ,图形的大部分显示区域会盖住局部图形的变化趋势,为了更直观的观察局部图形的变化规律,就需要对图形进行局部放大。具体函数如下所示
%生成局部放大图 程序代码如下
axes('Position',[0.45,0.55,0.38,0.28]);
plot(i,c(i),':.B','LineWidth',0.7);
xlim([14000,15000]); % 设置坐标轴范围
注:代码行参数: axes('Position',[0.45,0.55,0.38,0.28]);
代码中0.45为局部方法图左下角的归一化横坐标((该位置的横坐标-横坐标起始值)/横坐标的量程=0.18)。
同理,0.55为局部放大图的归一化纵坐标(改变局部放大图的纵向位置)。
0.38为局部放大图的归一化宽度,0.28为局部放大图的归一化高度,具体计算过程同上。
代码:xlim([14000,15000]); % 设置坐标轴范围 为局部放大图截取位置的横坐标
总结:主要关注程序中局部放大 的部分,既可以选择全图中局部放大的位置,也可以改变局部放大图的大小以及在全图中的相对位置。