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

Làm thế nào để tạo một âm mưu thảm trong Matplotlib?

Biểu đồ thảm được sử dụng để trực quan hóa sự phân bố dữ liệu. Nó là một biểu đồ dữ liệu cho một biến duy nhất, được hiển thị dưới dạng các dấu dọc theo một trục. Để tạo sơ đồ tấm thảm 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 ô phụ.
  • Tạo x điểm dữ liệu bằng cách sử dụng numpy.
  • Thêm 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, kde1 kde2 .
  • Tạo một hình mới hoặc kích hoạt một hình hiện có bằng cách sử dụng figure () phương pháp.
  • Thêm 'ax1' vào hình như một phần của sắp xếp ô phụ.
  • Vẽ biểu đồ trên tấm thảm với marker_size =20 .
  • Lô đất x_eval, kde1 (x_eval) kde2 (x_eval) các điểm dữ liệu sử dụng phương thức plot ().
  • Đặt một chú giải vào cốt truyện.
  • Để hiển thị hình này, hãy sử dụng show () phương pháp.

Ví dụ

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

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

x = np.array([-6, -4, 2, 1, 4], dtype=np.float)

kde1 = stats.gaussian_kde(x)
kde2 = stats.gaussian_kde(x, bw_method='silverman')

fig = plt.figure()

ax = fig.add_subplot(111)
ax.plot(x, np.zeros(x.shape), 'b+', ms=20)

x_eval = np.linspace(-5, 5, num=10)
ax.plot(x_eval, kde1(x_eval), 'k-', label="Scott's Rule")
ax.plot(x_eval, kde2(x_eval), 'r-', label="Silverman's Rule")

plt.legend(loc='upper right')

plt.show()

Đầu ra

Nó sẽ tạo ra kết quả sau

Làm thế nào để tạo một âm mưu thảm trong Matplotlib? Làm thế nào để tạo một âm mưu thảm trong Matplotlib?