matlab 读取figure 文件上的数据

情况一: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上是曲面图像

 

  1. figure_info=findall(gcf,'type','surf');
  2. xx=get(figure_info,'xdata');
  3. yy=get(figure_info,'ydata');
  4. z=get(figure_info,'zdata');


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

  • 5
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值