Giới thiệu
Rug plot được dùng để hình dung phân phối dữ liệu. Đây là biểu đồ của một biến đơn lẻ, hiển thị dưới dạng các dấu chấm dọc theo một trục. Để vẽ rug plot trong Matplotlib, bạn có thể làm theo các bước:
- Thiết lập kích thước hình vẽ và padding.
- Tạo dữ liệu x bằng numpy.
- Tạo ước lượng mật độ hạt nhân (KDE) với Gaussian kernels:
kde1vàkde2(với bandwidth khác nhau). - Tạo figure mới.
- Thêm subplot
ax1. - Vẽ rug plot bằng cách plot
xđối với giá trị y=0, dùng marker'b+'vàms=20. - Vẽ đường cong KDE:
x_eval, kde1(x_eval)vàkde2(x_eval). - Thêm legend.
- Hiển thị hình vẽ bằng show().
Ví dụ minh họa
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()
Kết quả đầu ra
Biểu đồ rug plot (dấu + màu xanh) kết hợp với hai đường KDE:

