如何从fig文件中提取数据
如果想从一个比较复杂的fig文件中提取数据,请问该如何做?我能够从简单的fig文件中提取数据,
使用get(get(gca,'Children'),'xdata')就可以
或者使用load后在children的properties中都可以找到原始数据,
但是我从附件中的类似文件中找不到想要提取的数据
请达人指教
谢谢
抱歉不能上传真正的fig文件,因为我的文件超过了附件的限制,
如果有需要我可以发到邮箱里面 matlab绘出的figure中任何资料都有办法取得!
取得fig handle中的Children handle, 再判断那些是axes handle
再取得axes handle中的Children handle, 再判断那些是line\image\patch handle, 就可取出xData/yData
若你有原始资料, 或许可先降低数据的大小在绘图, 如此档案就可变小上传! 我也曾遇到过类似的问题,也没有找到解决的办法,不过图形都是自己想得到数据,然后画出来的,可以在计算数据是调整一下算法,把数据直接输出出来, 好吧! 试试这个吧! 自己写的烂函数, 不确定是否已经考虑周详!
自己再根据需要修改吧!
比如当初需求仅需要line, 需要考虑加上其他物件
[ 本帖最后由 ChaChing 于 2008-11-20 11:43 编辑 ]
如何从fig文件中提取数据-问题已经解决
谢谢大家的回复,我昨晚回到家静下心来仔细找找,发觉还是能够找到需要的数据的。
简单描述一下
把fig文件读入后(importdata/load)
会得到一个struct的参数,
里面的基本参数有text, handle, properties, children, special etc
properties一般含有fig的所有信息,比如Xdata,YData,有个细节是采用imagesc画图时,数据存在参数CData里面,
比较复杂的fig,一般children会有多个struct,里面又会有嵌套,
但如chaching兄所说,
仔细找找就能找到想要的数据。
在此汗颜一下自己的编程习惯:@L 看起来很有用 先谢谢了 遇到类似的问题,亟待解决啊…… 本帖最后由 ChaChing 于 2011-5-28 16:45 编辑
回复 7 # adnana 的帖子
2F & 4F?
或具体些!?
Ref : 两个现有的fig图画在一起比较 或抓取axes数据 http://forum.vibunion.com/thread-83833-1-1.html
from http://forum.vibunion.com/home-space-uid-63979-do-blog-id-18250.html
遇到类似的问题,谢谢各位前辈来了! 好问题啊非常感谢
页:
[1]