使用matplotlib画3D图:
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D# 创建X和Y的网格点
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(x, y)# 创建Z的网格点(这里使用一个简单的二维高斯函数)
Z = np.exp(-(X ** 2 + Y ** 2) / 10)# 创建三维图对象
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')# 绘制3D图形
ax.plot_surface(X, Y, Z)# 设置X、Y和Z轴的刻度范围
ax.set_xlim(-5, 5)
ax.set_ylim(-5, 5)
ax.set_zlim(0, np.max(Z))# 设置X、Y和Z轴的刻度位置
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('both')
ax.zaxis.set_ticks_position('both')# ax.view_init(elev=90, azim=-90)ax.invert_xaxis() #将x的最大值放到左边:# 设置X、Y和Z轴的刻度显示;刻度间隔为0.5
ax.set_xticks(np.arange(-5, 6, 1))
ax.set_yticks(np.arange(-5, 6, 1))
ax.set_zticks(np.arange(0, np.max(Z)+0.5, 0.5))# 显示图形
plt.show()