当前位置:   article > 正文

Python数据可视化Part 5-Matplotlib 3D图片与投影教学-代码详解_ax = axes3d(fig)

ax = axes3d(fig)

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

代码步骤:

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

代码如下:

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. # 3D图需要额外导入模块
  4. from mpl_toolkits.mplot3d import Axes3D
  5. # 将默认figure图转化为3D图
  6. fig = plt.figure()
  7. ax = Axes3D(fig)
  8. # 给出x,y的坐标数据
  9. X = np.arange(-4,4,0.25)
  10. Y = np.arange(-4,4,0.25)
  11. # 画出网格线
  12. X,Y = np.meshgrid(X,Y)
  13. # 给出高度Z的值
  14. R=np.sqrt(X ** 2 + Y ** 2)
  15. Z = np.sin(R)
  16. # 画出图像 rstride:横向的分割线跨度(越小越密集) cstride:纵向的分割线跨度(越小越密集)
  17. ax.plot_surface(X,Y,Z,rstride=1,cstride=1,cmap=plt.get_cmap('rainbow'),edgecolor='black')
  18. # 将颜色进行投影
  19. # zdir后的参数决定从哪个方位进行投影 offset的参数表示投影到该方位坐标的哪个点对应的坐标平面
  20. ax.contourf(X,Y,Z,zdir='z',offset=-2,cmap='rainbow')
  21. # 限制画图的坐标轴范围
  22. ax.set_zlim(-2,2)
  23. plt.show()

效果:

# edgecolor='None'时

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

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/102110
推荐阅读
相关标签
  

闽ICP备14008679号