1. 程式人生 > 實用技巧 >matlab從fig圖中提取資料

matlab從fig圖中提取資料

1 如果你的fig檔案中的影象每個畫素都有資料,可以通過以下方式獲得影象每個點的值,輸出data是矩陣,大小是影象畫素的行列數

open('figname.fig');
h=get(gca,'Children');
data=get(h,'Cdata');

2 如果你的fig檔案中 影象是由單條曲線繪製而成,比如說plot命令生成的,通過以下方式輸出橫座標,縱座標的取值

open('figname.fig');
h_line=get(gca,'Children');%get linehandles
xdata=get(h_line,'Xdata');
ydata=get(h_line,'Ydata');

3 如果你的fig檔案中 影象是由三維單條曲線繪製而成,比如說plot3命令生成的,通過以下方式輸出x,y,z 座標的取值

open('figname.fig');
h_line=get(gca,'Children');%get linehandles
xdata=get(h_line,'Xdata');
ydata=get(h_line,'Ydata');
zdata=get(h_line,'Zdata');

4 如果你的fig檔案中 影象是由多條曲線繪製而成,比如說plot命令生成的,通過以下方式輸出橫座標,縱座標的取值

open('figname.fig');
lh = findall(gca, 'type', 'line');% 如果圖中有多條曲線,lh為一個數組
xc = get(lh, 'xdata');            % 取出x軸資料,xc是一個元胞陣列
yc = get(lh, 'ydata');            % 取出y軸資料,yc是一個元胞陣列
%如果想取得第2條曲線的x,y座標
x2=xc{2};
y2=yc{2};

轉自:MATLAB之從fig檔案中提取資料