展开全部
以画 z=x^2+y^2 的等高线为例2113,简单介绍5261用 matplotlib 画等高线的方法.
首先看下 z=x^2+y^2 的三维4102图像:import numpy as npfrom matplotlib import cmimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3D
delta = 0.2x = np.arange(-3, 3, delta)
y = np.arange(-3, 3, delta)
X, Y = np.meshgrid(x, y)
Z = X**2 + Y**2x=X.flatten()
y=Y.flatten()
z=Z.flatten()
fig = plt.figure()
ax = fig.gca(projection='3d')
ax.plot_trisurf(x, y, z, cmap=cm.jet, linewidth=0.01)
plt.show()
下面画出这个图形的等高线:plt.contour(X, Y, Z) #注意1653这里是大写X ,Y,Z
如果只想画出 z=1,z=2,z=3 这 3 条等高线:plt.contour(X, Y, Z,[1,2,3])