Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Matplotlib Python에서 'imshow'를 사용하여 간단한 이변량 분포를 어떻게 표시할 수 있습니까?


Matplotlib는 데이터 시각화에 사용되는 인기 있는 Python 패키지입니다. 데이터 시각화는 숫자를 실제로 보고 복잡한 계산을 수행하지 않고도 데이터에서 무슨 일이 일어나고 있는지 이해하는 데 도움이 되기 때문에 핵심 단계입니다.

청중에게 정량적 통찰력을 효과적으로 전달하는 데 도움이 됩니다. Matplotlib는 데이터로 2차원 플롯을 만드는 데 사용됩니다. Python 애플리케이션에 플롯을 포함하는 데 도움이 되는 객체 지향 API와 함께 제공됩니다. Matplotlib는 IPython 셸, Jupyter 노트북, Spyder IDE 등과 함께 사용할 수 있습니다.

파이썬으로 작성되었습니다. Python의 Numerical Python 패키지인 Numpy를 사용하여 생성됩니다.

Python은 아래 명령을 사용하여 Windows에 설치할 수 있습니다 -

pip install matplotlib

Matplotlib의 종속성은 -

Python ( greater than or equal to version 3.4)
NumPy
Setuptools
Pyparsing
Libpng
Pytz
Free type
Six
Cycler
Dateutil

이변량 분포는 두 개의 독립 확률 변수가 존재할 때 특정 이벤트가 발생할 확률입니다.

'imshow' 함수는 일반적으로 Matplotlib에서 이미지와 플롯을 표시하는 데 사용됩니다.

Matplotlib를 사용하여 이변량 분포를 플로팅하는 방법을 이해합시다 -

import numpy as np
import matplotlib.cm as cm
import matplotlib.pyplot as plt
import matplotlib.cbook as cbook
from matplotlib.path import Path
from matplotlib.patches import PathPatch
np.random.seed(9654241)

delta = 0.025
x = y = np.arange(−4.5, 4.5, delta)
X, Y = np.meshgrid(x, y)
Z1 = np.exp(−X**2 − Y**2)
Z2 = np.exp(−(X − 1)**2 − (Y − 1)**2)
Z = (Z1 − Z2) * 2

fig, ax = plt.subplots()
plt.title('A bivariate distribution')
plt.xlabel('x−axis')
plt.ylabel('y−axis')

im = ax.imshow(Z, interpolation='bilinear',
origin='lower', extent=[−3, 3, −3, 3],
vmax=abs(Z).max(), vmin=−abs(Z).max())
plt.show()

출력

Matplotlib Python에서  imshow 를 사용하여 간단한 이변량 분포를 어떻게 표시할 수 있습니까?

설명

  • 필요한 패키지를 가져오고 사용하기 쉽도록 별칭을 정의합니다.

  • 데이터는 '랜덤' 라이브러리의 '시드' 기능을 사용하여 생성됩니다.

  • 데이터는 두 개의 다른 데이터 세트에 대해 'Numpy' 라이브러리를 사용하여 생성됩니다.

  • '피겨' 기능을 이용하여 빈 도형을 생성합니다.

  • 'subplot' 기능은 동일한 플롯 내에서 2개의 개별 플롯을 생성하는 데 사용됩니다.

  • 데이터는 'plot' 기능을 사용하여 플롯됩니다.

  • set_xlabel, set_ylabel 및 set_title 함수는 'X'축, 'Y'축 및 제목에 대한 레이블을 제공하는 데 사용됩니다.

  • 'imshow' 함수를 사용하여 변수에 Figure를 할당합니다.

  • 'show' 기능을 사용하여 콘솔에 표시됩니다.