怎么将matlab得到的图局部放大呀
3个回答
展开全部
matlab画一个局部放大的图中图(总结)
第一种:magnify是个动态放大镜,固化后可以用tools>edit plot移动小图,能选取多个局部图,这个方法不错
用法:打开figure图,输入magnify,左键动态选取查看,ctrl+左键固化,也可右键固化,‘<’和‘>’缩放方法范围,‘+’和‘-’缩放放大比例
第二种:用起来也很方便,缺点是只能框选一处,不能选取多个。
美国学者Duane HanselmanandBruce Littlefield编写的MasteringMATLAB7上的例子,实现图中图缩放功能,使用了3个函数,这三个函数在附件中,当然也可以到网站
函数简单介绍:
getn()将get()函数的输出参数简化为单个变量;
getbox()实现矩形区域的选择,并捕捉该区域的横纵标的范围
mmzoom创建一个缩放坐标轴。
例子:
x = -pi:pi/12:pi;
y = tan(sin(x)) - sin(tan(x));
plot(x,y,'-- ro','LineWidth',2,'MarkerEdgeColor','k','MarkerFaceColor','g',
'MarkerSize',7.5)
mmzoom
第三种:也可编个小程序,分别在两个图形句柄里画图,可以借鉴下
原帖:http://www.ilovematlab.cn/redirect.php?fid=6&tid=56146&goto=nextoldset&sid=BpnOkT
代码;
figure(1);
h2=axes('position',[0 0 1 1]);
axis(h2);
x2=0:pi/50:2*pi;
y2=sin(x2);
h3=plot(x2,y2,'b-');
h1=axes('position',[0.3 0.2 0.4 0.4]);
axis(h1);
x1=0:pi/50:2*pi;
y1=cos(x1);
h4=plot(x1,y1,'r-');
hold on
h=[h3; h4];
str=['大图中的曲线';'小图中的曲线'];
legend(h,str);
看下来,还是倾向第三种使用axes方法放大局部图像的方法,关于axes的详细解释见
figure;% 生成新的图形窗口
plot(t,y);axis('equal'); % 绘制整体曲线图
axes('Position',[0.18,0.62,0.28,0.25]); % 生成子图
plot(t1,y1); % 绘制局部曲线图
xlim([min(t1),max(t1)]); % 设置坐标轴范围
axes函数后的参数说明,以横纵坐标量程为基准:
例中0.18为子图左下角的归一化横坐标位置:
(该位置的横坐标-横坐标起始值)/横坐标量程=0.18,
同理,0.62为子图左下角的归一化纵坐标位置:
(该位置的纵坐标-纵坐标起始值)/纵坐标量程=0.62,
0.28为子图的归一化宽度,0.25为子图的归一化高度,具体计算过程同上
建立坐标轴对象使用axes函数,其调用格式为:
句柄变量=axes(属性名1,属性值1,属性名2,属性值2,…)
调用axes函数用指定的属性在当前图形窗口创建坐标轴,并将其句柄赋给左边的句柄变量。也可以使用axes 函数按MATLAB缺省的属性值在当前图形窗口创建坐标轴:
axes 或 句柄变量= axes
用axes 函数建立坐标轴之后,还可以调用axes 函数将之设定为当前坐标轴,且坐标轴所在的图形窗口自动成为当前图形窗口:
axes(坐标轴句柄)
第一种:magnify是个动态放大镜,固化后可以用tools>edit plot移动小图,能选取多个局部图,这个方法不错
用法:打开figure图,输入magnify,左键动态选取查看,ctrl+左键固化,也可右键固化,‘<’和‘>’缩放方法范围,‘+’和‘-’缩放放大比例
第二种:用起来也很方便,缺点是只能框选一处,不能选取多个。
美国学者Duane HanselmanandBruce Littlefield编写的MasteringMATLAB7上的例子,实现图中图缩放功能,使用了3个函数,这三个函数在附件中,当然也可以到网站
函数简单介绍:
getn()将get()函数的输出参数简化为单个变量;
getbox()实现矩形区域的选择,并捕捉该区域的横纵标的范围
mmzoom创建一个缩放坐标轴。
例子:
x = -pi:pi/12:pi;
y = tan(sin(x)) - sin(tan(x));
plot(x,y,'-- ro','LineWidth',2,'MarkerEdgeColor','k','MarkerFaceColor','g',
'MarkerSize',7.5)
mmzoom
第三种:也可编个小程序,分别在两个图形句柄里画图,可以借鉴下
原帖:http://www.ilovematlab.cn/redirect.php?fid=6&tid=56146&goto=nextoldset&sid=BpnOkT
代码;
figure(1);
h2=axes('position',[0 0 1 1]);
axis(h2);
x2=0:pi/50:2*pi;
y2=sin(x2);
h3=plot(x2,y2,'b-');
h1=axes('position',[0.3 0.2 0.4 0.4]);
axis(h1);
x1=0:pi/50:2*pi;
y1=cos(x1);
h4=plot(x1,y1,'r-');
hold on
h=[h3; h4];
str=['大图中的曲线';'小图中的曲线'];
legend(h,str);
看下来,还是倾向第三种使用axes方法放大局部图像的方法,关于axes的详细解释见
figure;% 生成新的图形窗口
plot(t,y);axis('equal'); % 绘制整体曲线图
axes('Position',[0.18,0.62,0.28,0.25]); % 生成子图
plot(t1,y1); % 绘制局部曲线图
xlim([min(t1),max(t1)]); % 设置坐标轴范围
axes函数后的参数说明,以横纵坐标量程为基准:
例中0.18为子图左下角的归一化横坐标位置:
(该位置的横坐标-横坐标起始值)/横坐标量程=0.18,
同理,0.62为子图左下角的归一化纵坐标位置:
(该位置的纵坐标-纵坐标起始值)/纵坐标量程=0.62,
0.28为子图的归一化宽度,0.25为子图的归一化高度,具体计算过程同上
建立坐标轴对象使用axes函数,其调用格式为:
句柄变量=axes(属性名1,属性值1,属性名2,属性值2,…)
调用axes函数用指定的属性在当前图形窗口创建坐标轴,并将其句柄赋给左边的句柄变量。也可以使用axes 函数按MATLAB缺省的属性值在当前图形窗口创建坐标轴:
axes 或 句柄变量= axes
用axes 函数建立坐标轴之后,还可以调用axes 函数将之设定为当前坐标轴,且坐标轴所在的图形窗口自动成为当前图形窗口:
axes(坐标轴句柄)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
plot做出来的?点里面的放大选项 然后在图形上圈你想要放大的图
追答
如果能目测出来是哪个点 用菜单上的data cursor去点那个点 就能告诉你的横纵左边都是什么 如果不好看出来 那我只能这么做 你的这个图肯定是由一个矩阵做出来的 用x=max(juzhen)求那个最大值 用[x,y]=max(juzhen)求的话 能得到横纵坐标 只求某一部分的最大值 用x=max(juzhen(n1:n2))
n1,n2为区间 我只能帮你这些了。。。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询