python - 概率曲面图 matplotlib

标签 python matplotlib

我有 x 和 y 的 2d 值,它们跨越 x - [ 1 , 5 ] 和 y - [0.1 - 0.5]

如何在 matplotlib 中绘制轴为 x 、 y 和 P(y) 的 3d 表面?

我在网上的 matlab 中找到了这样做的代码,但我无法理解它,因此将其转换为 matplotlib...(下面编写的代码的值范围与我需要的完全不同)

  mu = [1 -1]; Sigma = [.9 .4; .4 .3];
  [X1,X2] = meshgrid(linspace(-1,3,25)', linspace(-3,1,25)');
  X = [X1(:) X2(:)];
  p = mvnpdf(X, mu, Sigma);
  surf(X1,X2,reshape(p,25,25));

有人可以帮我为 matplotlib 做完全相同的事情吗(也许是 plot_surface ?)

最佳答案

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.mlab as mlab
import numpy as np

def P(X, Y):
    return mlab.bivariate_normal(X, Y, 1.0, 1.0, 0.0, 0.0)      

fig = plt.figure()
ax = fig.gca(projection = '3d')
jet = plt.get_cmap('jet')

x = np.linspace(-2, 2, 60)
y = np.linspace(-2, 2, 60)
X, Y = np.meshgrid(x, y)
Z = P(X, Y)
surf = ax.plot_surface(X, Y, Z, rstride = 1, cstride = 1, cmap = jet, linewidth = 0)
ax.set_zlim3d(0, Z.max())

plt.show()

产量

enter image description here

关于python - 概率曲面图 matplotlib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13305743/

相关文章:

python - scikit-learn - 我应该用 TF 还是 TF-IDF 拟合模型?

python - Pandas 拆分和追加

python - 如何在mac上的python虚拟环境中安装 basemap ?

python - Matplotlib:音频播放器光标(滑动垂直线)的动画,在 WxPython 上,位 block 传输看起来损坏

python - 在 matplotlib 中创建具有不同形状的子图

python - Python 3 中的 __metaclass__

Python:将多个 Excel 工作簿读入一个 DataFrame

python - 在 Python 中屏蔽异常?

python - 如何从 matplotlib/seaborn 图中删除或隐藏 y 轴刻度标签

matplotlib - 更改误差条大小