anaconda环境选择python3.9,与matplotlib版本不兼容
新建anaconda环境:
1conda activate -n p3.7 python=3.7
2conda activate p3.7
3重新安装包
4运行代码(测试用)
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d.axes3d import Axes3D
def draw_pic(X,Y,Z,z_max,title,z_min = 0):
fig = plt.figure()
ax = Axes3D(fig)
ax.plot_surface(X,Y,Z,rstride=1,cstride=1,cmap=plt.cm.hot)
ax.set_zlim(z_min,z_max)
ax.set_title(title)
plt.show()
def get_X_AND_Y(X_min,X_max,Y_min,Y_max):
X=np.arange(X_min,X_max,0.1)
Y=np.arange(Y_min,Y_max,0.1)
X,Y=np.meshgrid(X,Y)
return X,Y
def Holder_table(X_min=-10,X_max=10,Y_min=-10,Y_max=10):
X,Y=get_X_AND_Y(X_min,X_max,Y_min,Y_max)
Z=-np.abs(np.sin(X)*np.cos(Y)*np.exp(np.abs(1-np.sqrt(X**2+Y**2)/np.pi)))
return X,Y,Z,0,"Holder table function",-20
z_min = None
X,Y,Z,z_max,title,z_min = Holder_table()
draw_pic(X,Y,Z,z_max,title,z_min)
运行成功
鸣谢:姜祺凡