Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬으로 복소수 그래프 그리기: matplotlib 활용 가이드

복소수는 실수부와 허수부로 구성되어 있기 때문에, 실수부를 x축에 허수부를 y축에 대응시키면 2차원 평면(복소평면) 위의 점으로 손쉽게 시각화할 수 있습니다. 파이썬에서는 matplotlibnumpy를 함께 사용하면 몇 줄의 코드만으로 복소수 배열을 그래프로 나타낼 수 있습니다.

복소수 산점도 그리기

복소수 배열이 있을 때 다음과 같이 플로팅할 수 있습니다:

import matplotlib.pyplot as plt
import numpy as np

cnums = np.arange(5) + 1j * np.arange(6,11)
X = [x.real for x in cnums]
Y = [x.imag for x in cnums]
plt.scatter(X,Y, color='red')
plt.show()

코드 설명

np.arange(5)로 생성한 값에 1j * np.arange(6,11)을 더하여 실수부가 0~4, 허수부가 6~10인 다섯 개의 복소수 배열을 만듭니다. 이후 리스트 컴프리헨션을 사용해 각 복소수의 실수부(x.real)와 허수부(x.imag)를 분리한 뒤, plt.scatter() 함수로 빨간색 산점도를 그립니다.

이 코드를 실행하면 복소평면 위에 해당 복소수들이 점으로 표시된 그래프가 출력됩니다.

극좌표 플롯으로 표현하기

복소수는 크기(magnitude)와 위상(phase)으로도 표현할 수 있으므로, 극좌표 플롯(polar plot)에 그리는 것도 가능합니다. np.abs()로 크기를, np.angle()로 위상을 구한 뒤 다음과 같이 작성하면 됩니다:

plt.polar(np.angle(cnums), np.abs(cnums), 'ro')
plt.show()

이처럼 상황에 따라 직교좌표계의 산점도 또는 극좌표 플롯을 선택하여 복소수를 직관적으로 시각화할 수 있습니다.