본문 바로가기

컴퓨터 팁

MATLAB figure에서 데이터 추출하기


MATLAB figure에서 좌표 데이터 추출하기

Export x and y data from a MATLAB figure into a matrix



MATLAB에서 그린 figure로부터 좌표 데이터를 추출할 수 있다.

figure 파일만 가지고 있고 원래의 데이터를 유실한 경우 유용하다.


h = get(gca, 'children');        % 현재 띄워진 figure의 핸들을 가져옴.

x = get(h(1), 'xdata');

y = get(h(1), 'ydata');


데이터를 추출하고 싶은 figure를 띄운 상태에서 위의 코드를 실행하면 좌표 데이터를 x, y 행렬로 얻을 수 있다.




만약 여러 개의 plot을 하나의 figure에 그렸다면 핸들 h는 행렬이 된다.

이 경우, 위의 코드는 figure에 존재하는 여러 개의 plot 중에서 첫 번째 plot의 좌표를 추출하는 코드이다.

아래와 같이 h(2)를 사용하면 두 번째 plot의 좌표를 추출할 수 있다.


h = get(gca, 'children');        % 현재 띄워진 figure의 핸들을 가져옴.

x = get(h(2), 'xdata');

y = get(h(2), 'ydata');


그러면 어떤 plot이 h(1)에 해당하고 h(2)에 해당하는가?

figure에서 먼저 그려진 plot이 h(1)이 되고, 차례대로 h(2), h(3)이 부여된다.