情况一:figure上只有一个axis:

1、首先调用h = findobj(gca,'Type','line')命令取得曲线的句柄;

2、然后调用xdata=get(h,'XData')和ydata=get(h,'YData')取得曲线的数据。

情况二:figure上有几个axis,即用subplot等画得图像:

clc;clear

x=1:10;

y1=x.^2;

y2=x.^3;

subplot(2,1,1)

plot(x,y1)

subplot(2,1,2)

plot(x,y2)

figure_info=findall(gcf,'type','line');

xc1=get(figure_info(1,:),'xdata')

xc2=get(figure_info(2,:),'xdata')

yc1=get(figure_info(1,:),'ydata')

yc2=get(figure_info(2,:),'ydata')

这样就可以将所有子图中的曲线信息都找出来。

对比了findall help文件,其中findall中的handle_list可以是一下几种:

gcf 返回当前Figure对象的句柄值

gca返回当前axes对象的句柄值

gco返回当前鼠标单击的句柄值,该对象可以是除root对象外的 任意图形对象,并且Matlab会把当前图形对象的句柄值存放在Figure的CurrentObject属性中。

情况三:figure上是个二维图像

h=findobj(gcf,'type','image');

img=get(h,'CData');

情况四:figure上是曲面图像

figure_info=findall(gcf,'type','surf');

xx=get(figure_info,'xdata');

yy=get(figure_info,'ydata');

z=get(figure_info,'zdata');

参考链接:http://www.ilovematlab.cn/thread-79256-1-1.html; http://www.chinavib.com/thread-101930-1-1.html

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐