如何在Matplotlib中创建地毯图?
地毯图用于可视化数据的分布。它是单个变量的数据图,以沿轴线显示的标记形式展示。要在Matplotlib中创建地毯图,可以执行以下步骤-
- 设置图形大小并调整子图之间和周围的填充。
- 使用numpy创建x数据点。
- 添加使用高斯内核的核密度估计的表示, kde1 和 kde2 。
- 创建新图或使用 figure() 方法激活现有图形。
- 将 ax1 添加到图形作为子图布置的一部分。
- 使用 marker_size=20 制作地毯图。
- 使用plot()方法绘制 x_eval, kde1(x_eval) 和 kde2(x_eval) 数据点。
- 在图形上放置图例。
- 使用 show() 方法显示图形。
示例
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()
输出
它将产生以下输出