Matlab 提取fig图形数据

Matlab 提取fig图形数据

在保存了图片没有保存数据的情况下,可以根据图片重新获得原始数据。

  • 打开图片,fname.fig
    open('fname.fig');
  • 获取曲线的handle,如果图中有多条曲线,handle为一个数组
    handle = findobj(gca,'Type','line');
  • 分别获取x轴和y轴数据
    xdata = get(handle,'XData');
    ydata = get(handle,'YData');

对于利用subplot画的图,如果希望取其中某一幅图片的数据,需要用subplot命令先选中那幅图片。



第二种:
1、在命令行运行figure打开一个空白窗口,
2、在工具栏或者菜单中选择open打开你保存的fig文件,会显示出原来的那个图来。
3、在命令行运行obj = get(gca,'children')
这个结果对应你的图里面的线或者面的句柄,有几条线就对应几个句柄。
4、根据你需要的是哪条线,第n条线句柄就是obj(n),如果只有一个对象直接用obj就可以,
然后再用一次get,
x=get(obj(1), 'xdata');
y=get(obj(1), 'ydata');
如果是三维图,再加上个z=get(obj(1),'zdata');

x、y、z就是你所需要的坐标数据


-----------------------------
% the data
     x=1:10;
     y=rand(size(x));
     fnam='afig.fig';
% ...on display
     fh=figure;
     line(x,y);
% ...and saved
     saveas(gcf,fnam);
     delete(fh);
% the engine
     open(fnam);
     lh=findall(gca,'type','line');
     xx=get(lh,'xdata');
     yy=get(lh,'ydata');
% the result
     [isequal(x,xx)
      isequal(y,yy)]


  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值