초급-MATLAB 해양자료처리

MATLAB - Scatter vs Pcolor

Kamanberr 2023. 9. 16. 11:10

 

scatter는 점을 찍는 함수이고 pcolor는 색을 칠하는 함수이다.

 

 

scatter는 여러 정점들에 대한 data값을 각각 나타내는 작업에 있어서 매우 직관적이고 효과적이다.

각 정점에 대해서 x, y 값이 주어진다면 그 위치에서 점의 색으로 data의 값을 표현하기 때문이다.

 

그런데 pcolor는 점이 아니라 면의 색을 칠한다.

일반적으로 우리가 다루는 raw data에는 기본적으로 정점에 대한 정보(data)만 있을 뿐, 면에 대한 정보는 없다.

그렇다면 pcolor 함수는 각 면에 대하여 도대체 무슨 색을 칠하는 것일까?

 

다음은 같은 데이터에 대하여 scatterpcolor로 각각 나타낸 것이다.

 

 

두 그림을 비교하여, pcolor의 각 면에 칠해진 색이 어떤 값을 반영하고 있는지 직접 확인할 수 있다.

 

좀 더 이해를 돕기 위해, 다음의 그림을 보자.

만약 좌표(121, 31)에 있는 정점의 dataNAN이라고 두면, 다음과 같이 결과가 나온다.

 

 

, pcolor는 꼭짓점에 있는 한 점의 색을 면의 색으로 지정하여 색을 칠하는 함수라고 볼 수 있다.

 

 

그런데 방금 예시에서는 raw data의 크기가 작아서 lon2, lat2를 일일이 입력해 줄 수 있었지만, 실제 우리가 다룰 raw data는 크기가 매우 크기 때문에 소위 노가다 를 할 수 없다.

 

그렇다면 lon, lat, array1 을 어떻게 lon2, lat2, array2 로 바꿀 수 있을까?

 

이건 기본적으로 이중 for문을 활용하면 가능한데, 이왕이면 직접 고민해서 실습해보는 것이 for문을 연습하는데 많은 도움이 될 것 같다.

( meshgrid를 활용하면 좀 더 간편하지만, 아직 for문에 대한 개념이 잘 안 잡혀 있다면 이중 for문으로 코드를 짜는 것을 추천한다. )