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

Matplotlib에서 두 분포의 차이를 그리는 방법은 무엇입니까?

<시간/>

Matplotlib에서 두 분포의 차이를 표시하기 위해 다음 단계를 수행할 수 있습니다. -

  • Figure 크기를 설정하고 서브플롯 사이와 주변의 패딩을 조정합니다.

  • a 만들기 및 b Numpy를 사용한 데이터 세트.

  • kde 받기 및 kdeb , 즉, 가우스 커널을 사용한 커널 밀도 추정의 표현입니다.

  • Numpy를 사용하여 그리드를 만듭니다.

  • kdea(grid), kdeb(grid)를 사용하여 그리드를 플로팅합니다. 및 kdea(그리드)-kdeb(그리드) , plot() 사용 방법.

  • 범례를 왼쪽 상단 모서리에 배치합니다.

  • 그림을 표시하려면 show()를 사용하세요. 방법.

import numpy as np
import matplotlib.pyplot as plt
import scipy.stats

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

a = np.random.gumbel(50, 28, 100)
b = np.random.gumbel(60, 37, 100)

kdea = scipy.stats.gaussian_kde(a)
kdeb = scipy.stats.gaussian_kde(b)

grid = np.linspace(0, 50, 100)

plt.plot(grid, kdea(grid), label="Kde A")
plt.plot(grid, kdeb(grid), label="Kde B")
plt.plot(grid, kdea(grid)-kdeb(grid), label="Difference")

plt.legend(loc='upper left')

plt.show()

출력

Matplotlib에서 두 분포의 차이를 그리는 방법은 무엇입니까?