下面代码在实际操作中稍作修改即可使用

代码步骤:

  1. 3D图需要额外导入模块
  2. 将默认figure图转化为3D图
  3. 给出x,y的坐标数据
  4. 画出网格线
  5. 给出高度Z的值
  6. 画出图像
  7. 将颜色进行投影
  8. 限制画图的坐标轴范围

代码如下:

import numpy as np
import matplotlib.pyplot as plt

# 3D图需要额外导入模块
from mpl_toolkits.mplot3d import Axes3D

# 将默认figure图转化为3D图
fig = plt.figure()
ax = Axes3D(fig)

# 给出x,y的坐标数据
X = np.arange(-4,4,0.25)
Y = np.arange(-4,4,0.25)
# 画出网格线
X,Y = np.meshgrid(X,Y)

# 给出高度Z的值
R=np.sqrt(X ** 2 + Y ** 2)
Z = np.sin(R)

# 画出图像 rstride:横向的分割线跨度(越小越密集) cstride:纵向的分割线跨度(越小越密集)
ax.plot_surface(X,Y,Z,rstride=1,cstride=1,cmap=plt.get_cmap('rainbow'),edgecolor='black')

# 将颜色进行投影
# zdir后的参数决定从哪个方位进行投影 offset的参数表示投影到该方位坐标的哪个点对应的坐标平面
ax.contourf(X,Y,Z,zdir='z',offset=-2,cmap='rainbow')

# 限制画图的坐标轴范围
ax.set_zlim(-2,2)

plt.show()

效果:

# edgecolor='None'时

ax.plot_surface(X,Y,Z,rstride=1,cstride=1,cmap=plt.get_cmap('rainbow'),edgecolor='None')

 

 

Logo

永洪科技,致力于打造全球领先的数据技术厂商,具备从数据应用方案咨询、BI、AIGC智能分析、数字孪生、数据资产、数据治理、数据实施的端到端大数据价值服务能力。

更多推荐