当前位置:   article > 正文

python画图3d柱状图,3d直方图 ax.bar3d

ax.bar3d

根据三维数据,画一个柱状图

网上的很多代码,都有点含混不清,而且百度又不好用,无奈自己动手试了一个

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. from mpl_toolkits.mplot3d import Axes3D
  4. # 绘图设置
  5. fig = plt.figure()
  6. ax = fig.gca(projection='3d') # 三维坐标轴
  7. # X和Y的个数要相同
  8. X = [1,2,3,4]
  9. Y = [5,6,7,8]
  10. Z = np.random.randint(0, 1000, 16) # 生成16个随机整数
  11. # meshgrid把X和Y变成平方长度,比如原来都是4,经过meshgrid和ravel之后,长度都变成了16,因为网格点是16个
  12. xx, yy = np.meshgrid(X, Y) # 网格化坐标
  13. X, Y = xx.ravel(), yy.ravel() # 矩阵扁平化
  14. # 设置柱子属性
  15. height = np.zeros_like(Z) # 新建全0数组,shape和Z相同,据说是图中底部的位置
  16. width = depth = 0.3 # 柱子的长和宽
  17. # 颜色数组,长度和Z一致
  18. c = ['r']*len(Z)
  19. # 开始画图,注意本来的顺序是X, Y, Z, width, depth, height,但是那样会导致不能形成柱子,只有柱子顶端薄片,所以Z和height要互换
  20. ax.bar3d(X, Y, height, width, depth, Z, color=c, shade=False) # width, depth, height
  21. ax.set_xlabel('X')
  22. ax.set_ylabel(&
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/616014
推荐阅读
相关标签
  

闽ICP备14008679号