当前位置:   article > 正文

[代码]python实现三维热力图_matplotlib画三维热力图

matplotlib画三维热力图

三维空间部分点有data,如果某位置有值,mask[该位置]=1,对data进行归一化并可视化展示。

 

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. from mpl_toolkits.mplot3d import Axes3D
  4. # 生成数据
  5. data = np.random.rand(12,36, 36)*0.001
  6. # 归一化数据
  7. data_norm = (data - np.min(data)) / (np.max(data) - np.min(data))
  8. # 生成mask
  9. mask = np.random.randint(0, 2, (12, 36, 36))
  10. # 绘制热力图
  11. fig = plt.figure()
  12. ax = fig.add_subplot(111, projection='3d')
  13. colors = plt.cm.jet(data_norm)
  14. colors[..., -1] = mask # 设置mask
  15. ax.voxels(mask, facecolors=colors, alpha=0.8)
  16. cbar = plt.colorbar(plt.cm.ScalarMappable(cmap=plt.cm.rainbow))
  17. cbar.set_label('Value')
  18. ax.set_xlabel('X')
  19. ax.set_ylabel('Y')
  20. ax.set_zlabel('Z')
  21. ax.set_title('3D Heatmap')
  22. plt.show()

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

闽ICP备14008679号