如何在 Matplotlib 中制作地毯图?

地毯图用于可视化数据的分布。它是单个变量的数据图,沿轴显示为标记。要在 Matplotlib 中制作地毯图,我们可以采取以下步骤 -

  • 设置图形大小并调整子图之间和周围的填充。

  • 使用 numpy 创建 x 个数据点。

  • 使用高斯核kde1kde2添加核密度估计的表示。

  • 使用方法创建新图形或激活现有图形figure()

  • 作为子图排列的一部分,将“ax1”添加到图中。

  • 使用marker_size=20制作地毯图。

  • 使用方法绘制x_eval、kde1(x_eval)kde2(x_eval)数据点plot()。

  • 在图上放置一个图例。

  • 要显示图形,请使用show()方法。

示例

import numpy as np
from scipy import stats
importmatplotlib.pyplotas 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()
输出结果

它将产生以下输出