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

Matplotlib로 복소수 시각화하기: 아르간 다이어그램(Argand Diagram) 그리기 완벽 가이드

복소수를 평면 위에 시각화하는 아르간 다이어그램(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 컬러맵을 적용하면, 각 점의 위치뿐만 아니라 실수부 크기까지 색으로 직관적으로 파악할 수 있습니다.

실행 결과

Matplotlib로 복소수 시각화하기: 아르간 다이어그램(Argand Diagram) 그리기 완벽 가이드

실행하면 복소평면 위에 무작위 복소수들이 점으로 표시된 그래프가 출력됩니다. x축은 실수 축(Re), y축은 허수 축(Im)에 해당하며, 각 점의 색상은 실수부 값의 크기를 나타냅니다.

응용 팁

축에 레이블을 추가하고 싶다면 ax.set_xlabel("Re"), ax.set_ylabel("Im")을 활용하고, 원점에서 각 복소수까지의 벡터를 표현하려면 ax.quiver()ax.annotate()를 함께 사용하면 더욱 완성도 높은 아르간 다이어그램을 만들 수 있습니다.