【问题标题】:Plot a 2D gaussian on numpy在 numpy 上绘制 2D 高斯
【发布时间】:2016-03-07 18:03:20
【问题描述】:

我是 numpy 的新手,我尝试练习基本操作。这是绘制二维高斯分布的代码。我在 matplotlib 中有错误。我该如何解决?

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

X,Y=np.meshgrid(np.linspace(-1,1,10),np.linspace(-1,1,10));
mu,sigma=0,1; #suppose that mux=muy=mu=0 and sigmax=sigmay=sigma
G=np.exp(-((X-mu)**2+(Y-mu)**2)/2.0*sigma**2)
print G
fig=plt.figure();
ax=fig.add_subplot(111,projection='3d')
surf=ax.plot_surface(X,Y,G,c='red')
plt.show()

我有这个错误
文件“/Library/Python/2.7/site-packages/mpl_toolkits/mplot3d/__init__.py”,第 4 行,在 从 matplotlib.externals 导入六个 ImportError: 没有名为 externals 的模块

【问题讨论】:

  • 如果我只是复制并粘贴您在上面写的内容,代码对我来说很好。你用的是什么版本的python?
  • @DavidG python 2.7 与 macport 一起安装
  • @MSeifert,我解决了这个问题。谢谢

标签: python numpy matplotlib figure


【解决方案1】:

因为我的版本可以正常工作,所以我怀疑您需要升级mpl_toolkits(和/或matplotlib)。

似乎matplotlib 放弃了对旧 Python 版本的支持(并且您有更新的版本),因此不再需要 externals 子模块。但是你没有更新mpl_toolkits,它仍然认为matplotlib 有这个子模块。因此你会得到这个错误。

【讨论】:

    猜你喜欢
    • 2019-03-10
    • 2015-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-18
    • 2022-01-21
    • 2015-07-19
    • 2014-10-10
    相关资源
    最近更新 更多