1.生成数据
import numpy as np
def func_array(x1,x2):
f = 0.5*x1**2 + 1*x2**2
return f
x = np.linspace(-10,10,100)
y = np.linspace(-10,10,100)
x1,y1 = np.meshgrid(x,y)
z = func_array(x1,y1)
2.contourf函数画出二维云图
import matplotlib.pyplot as plt
plt.figure()
plt.contourf(x1,y1,z,20,cmap="afmhot_r",alpha=0.5)
3.plot_surface函数画出曲面图
fig, ax = plt.subplots(subplot_kw={"projection": "3d"})
surf = ax.plot_surface(x1, y1, z, cmap='rainbow',linewidth=0, antialiased=False)
ax.zaxis.set_major_locator(LinearLocator(5))
ax.zaxis.set_major_formatter('{x:.0f}')
ax.set_zlim(0, 150)
ax.set_xlabel('x1',fontdict=my_font1)
ax.set_ylabel('x2',fontdict=my_font1)
ax.set_zlabel('z',fontdict=my_font1)