在numpy上绘制2D高斯

时间:2016-03-07 18:03:21

标签: python numpy matplotlib figure

我是个新人,我尝试练习基本操作。这是绘制2D高斯分布的代码。我在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行,in     来自matplotlib.externals导入六 ImportError:没有名为externals的模块

1 个答案:

答案 0 :(得分:2)

因为我的版本有效,所以我怀疑你需要升级mpl_toolkits(和/或matplotlib)。

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