具体的办法是:两种方法一样,没什么差别

第一种:https://hi.baidu.com/adda/blog/item/a40aecc40db76cae8326ac69.html

open(fnam); % fnam是文件名

lh=findall(gca,'type','line'); % 从当前图(gca)中取出曲线的handle,

xc=get(lh,'xdata'); % 取出x轴数据,注意,这个x和y是以cell的数据结构保存的

yc=get(lh,'ydata'); % 取出y轴数据

x=xc{1};从cell转换成矩阵,可以这样写

y=yc{1};

第二种:

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)]

Logo

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

更多推荐