Computer >> Máy Tính >  >> Lập trình >> Python

Làm thế nào để vẽ biểu đồ sự khác biệt của hai bản phân phối trong Matplotlib?

Để vẽ biểu đồ sự khác biệt của hai bản phân phối trong Matplotlib, chúng ta có thể thực hiện các bước sau -

  • Đặt kích thước hình và điều chỉnh phần đệm giữa và xung quanh các ô con.

  • Tạo a b bộ dữ liệu sử dụng Numpy.

  • Nhận kdea kdeb , tức là, biểu diễn ước tính mật độ hạt nhân bằng cách sử dụng hạt nhân Gaussian.

  • Tạo lưới bằng Numpy.

  • Vẽ dây bằng kdea (lưới), kdeb (lưới) kdea (lưới) -kdeb (lưới) , sử dụng plot () phương pháp.

  • Đặt chú giải ở góc trên bên trái.

  • Để hiển thị hình này, hãy sử dụng show () phương pháp.

Ví dụ

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()

Đầu ra

Làm thế nào để vẽ biểu đồ sự khác biệt của hai bản phân phối trong Matplotlib?