原博:點擊打開鏈接
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 line handles
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 line handles
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};