4 python matplotlib matplotlib.mlab
从 Matplotlib 3.1 开始,mlab.bivariate_normal 已从 matplotlib 库中删除。我想知道是否有一个内置类可以在其他地方(或在 matplotlib 中)执行相同的工作?我搜索了一下但不容易找到。
我意识到人们可以在这里复制该函数并使用它,但我想知道是否有一个可以调用的内置函数。
正如 @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)))