如何在 Matplotlib 中绘制两个分布的差异?
matplotlibpythondata visualization
要在 Matplotlib 中绘制两个分布的差异,我们可以采取以下步骤 −
设置图形大小并调整子图之间和周围的填充。
使用 Numpy 创建 a 和 b 数据集。
获取 kdea 和 kdeb,即使用高斯核表示核密度估计。
使用 Numpy 创建网格。
使用 kdea(grid)、kdeb(grid) 和绘制网格kdea(grid)-kdeb(grid),使用plot()方法。
将图例放置在左上角。
要显示图形,请使用show()方法。
示例
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()