如何在Matplotlib中绘制两个分布的差异?

如何在Matplotlib中绘制两个分布的差异?

要在Matplotlib中绘制两个分布的差异,我们可以遵循以下步骤 −

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

  • 使用Numpy创建数据集 ab

  • 获取 kdeakdeb ,即使用高斯内核估计密度的表示。

  • 使用Numpy创建网格。

  • 使用 plot() 方法绘制网格、 kdea(grid), kdeb(grid)kdea(grid)-kdeb(grid)

  • 将图例放在左上角。

  • 使用 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()

输出

如何在Matplotlib中绘制两个分布的差异?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程