与 matplotlib.mlab.bivariate_normal 等效的函数

4 python matplotlib matplotlib.mlab

从 Matplotlib 3.1 开始,mlab.bivariate_normal 已从 matplotlib 库中删除。我想知道是否有一个内置类可以在其他地方(或在 matplotlib 中)执行相同的工作?我搜索了一下但不容易找到。

我意识到人们可以在这里复制该函数并使用它,但我想知道是否有一个可以调用的内置函数。

cod*_*ife 5

正如 @tmdavison 所建议的,scipy.stats.multivariate_normal()可以用来替换matplotlib.mlab.bivariate_normal().

通话:

Z = matplotlib.mlab.bivariate_normal(X, Y, sig_x, sig_y, mu_x, mu_y, sig_xy)
Run Code Online (Sandbox Code Playgroud)

变成:

rv = scipy.stats.multivariate_normal([mu_x, mu_y], [[sig_x, sig_xy], [sig_xy, sig_y]])
Z = rv.pdf(np.dstack((X, Y)))
Run Code Online (Sandbox Code Playgroud)

该函数对除之外matplotlib.mlab.bivariate_normal()的所有参数都有默认值,因此您可能需要添加一些额外的值。和值默认为,所有其他参数默认为。因此,如果您要替换呼叫,它将变成.XYsig_xsig_y1.00.0bivariate_normal(X, Y)multivariate_normal([0, 0], [[1, 0], [0, 1]]).pdf(np.dstack((X, Y)))