복소수를 평면 위에 시각화하는 아르간 다이어그램(Argand Diagram)은 복소수의 실수부와 허수부를 각각 x축과 y축 좌표로 표현하는 방법입니다. Python의 Matplotlib 라이브러리를 활용하면 복소수 데이터셋을 손쉽게 산점도(scatter plot) 형태로 그릴 수 있습니다.
구현 단계
- 그림(figure) 크기를 설정하고 서브플롯 주변 및 사이의 여백(padding)을 조정합니다.
- NumPy를 이용해 무작위 복소수 데이터셋을 생성합니다.
- subplots() 메서드로 figure와 axes 객체를 생성합니다.
- scatter() 메서드를 사용하여 실수부(real)와 허수부(imag)를 각각 x, y 좌표로 하는 산점도를 그립니다.
- show() 메서드로 최종 그래프를 화면에 출력합니다.
예제 코드
import numpy as np from matplotlib import pyplot as plt # 그림 크기 및 자동 레이아웃 설정 plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True # 무작위 복소수 10개 생성 (실수부 + 허수부) data = np.random.rand(10) + 1j*np.random.rand(10) # figure와 subplot 생성 fig, ax = plt.subplots() # 실수부를 x축, 허수부를 y축으로 산점도 그리기 tax.scatter(data.real, data.imag, c=data.real, cmap="RdYlBu_r") plt.show()
코드 설명
핵심은 np.random.rand(10) + 1j*np.random.rand(10) 부분입니다. 이 코드는 0과 1 사이의 무작위 실수 10개를 실수부로, 또 다른 무작위 실수 10개를 허수부로 하여 복소수 배열을 만듭니다. NumPy 배열은 .real과 .imag 속성을 제공하므로, 복소수의 실수부와 허수부를 별도의 변환 없이 바로 추출할 수 있습니다.
산점도의 색상(c)을 실수부 값으로 지정하고 RdYlBu_r 컬러맵을 적용하면, 각 점의 위치뿐만 아니라 실수부 크기까지 색으로 직관적으로 파악할 수 있습니다.
실행 결과

실행하면 복소평면 위에 무작위 복소수들이 점으로 표시된 그래프가 출력됩니다. x축은 실수 축(Re), y축은 허수 축(Im)에 해당하며, 각 점의 색상은 실수부 값의 크기를 나타냅니다.
응용 팁
축에 레이블을 추가하고 싶다면 ax.set_xlabel("Re"), ax.set_ylabel("Im")을 활용하고, 원점에서 각 복소수까지의 벡터를 표현하려면 ax.quiver()나 ax.annotate()를 함께 사용하면 더욱 완성도 높은 아르간 다이어그램을 만들 수 있습니다.