복소수는 실수부와 허수부로 구성되어 있기 때문에, 실수부를 x축에 허수부를 y축에 대응시키면 2차원 평면(복소평면) 위의 점으로 손쉽게 시각화할 수 있습니다. 파이썬에서는 matplotlib과 numpy를 함께 사용하면 몇 줄의 코드만으로 복소수 배열을 그래프로 나타낼 수 있습니다.
복소수 산점도 그리기
복소수 배열이 있을 때 다음과 같이 플로팅할 수 있습니다:
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()
이처럼 상황에 따라 직교좌표계의 산점도 또는 극좌표 플롯을 선택하여 복소수를 직관적으로 시각화할 수 있습니다.