본문 바로가기
카테고리 없음

[NumPy] meshgrid 함수 알아보기

by holy_jjjae 2023. 12. 13.

np.meshgrid()

 https://numpy.org/doc/stable/reference/generated/numpy.meshgrid.html

 

Parameter

필수인자 : xi 배열

 

x, y평면에서 2차원 그리드를 만든다면, 그리드로 지정할 x범위와 y범위를,

x, y, z평면에서 3차원 그리드를 만든다면, 3차원 입체 그리드로 지정할 x범위, y범위, z범위를 넘겨준다.

 

 

선택옵션 : indexing

 

디폴트로 indexing = 'xy'인 Cartesian indexing방식이고, indexing = 'ij'를 주면 matrix indexing을 반환한다.

 


코드예시

import numpy as np
import matplotlib.pyplot as plt

a = np.linspace(1,5,5)
b = np.linspace(51,55,5)
x,y = np.meshgrid(a,b)
print('x:\n', x, '\n')
print('y:\n', y)

plt.scatter(x,y)

 

np.linspace는 np.arange와 비슷한 함수인데, 3번째 인자의 개수로 해당구간을 균등분할하는 함수이다.

a와 b는 각각 1에서 5까지, 51에서 55까지를 5개씩 균등하게 나눴고, meshgrid의 인자로 넘겨준다.

 

즉, [1,2,3,4,5]와 [51,52,53,54,55] 두 개의 원소 열개짜리 배열로,

아래 그림과 같은 25개의 좌표점을 만들어낼 수 있다.