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

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

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D# 绘图设置
fig = plt.figure()
ax = fig.gca(projection='3d')  # 三维坐标轴
# X和Y的个数要相同
X = [1,2,3,4]
Y = [5,6,7,8]
Z = np.random.randint(0, 1000, 16) # 生成16个随机整数
# meshgrid把X和Y变成平方长度,比如原来都是4,经过meshgrid和ravel之后,长度都变成了16,因为网格点是16个
xx, yy = np.meshgrid(X, Y)  # 网格化坐标
X, Y = xx.ravel(), yy.ravel()  # 矩阵扁平化
# 设置柱子属性
height = np.zeros_like(Z) # 新建全0数组,shape和Z相同,据说是图中底部的位置
width = depth = 0.3 # 柱子的长和宽
# 颜色数组,长度和Z一致
c = ['r']*len(Z)
# 开始画图,注意本来的顺序是X, Y, Z, width, depth, height,但是那样会导致不能形成柱子,只有柱子顶端薄片,所以Z和height要互换
ax.bar3d(X, Y, height, width, depth, Z,  color=c, shade=False)  # width, depth, height
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
plt.show()

效果:

常见报错:ValueError: shape mismatch: objects cannot be broadcast to a single shape

原因:就是X, Y, Z的个数对不上。X的个数和Y的个数要相等(比如都为N个),Z的个数为N^2

解决:调整X, Y, Z数组的长度

python画图3d柱状图,3d直方图 ax.bar3d相关推荐

  1. Python画图示例之 3D绘图

    import numpy as npimport matplotlib.pyplot as pltstike = np.linspace(50, 150, 24)ttm = np.linspace(0 ...

  2. python画图matplotlib绘制3D图

    import pandas as pd import matplotlib.pyplot as plt from matplotlib import rcParams# 设置字体 config = { ...

  3. echats 3d地图 并打点和绘制迁徙图,绘制3d柱状图 3d迁徙线3d点 lines3D bar3D scatter3D

    效果图片 代码如下 var option = {}let geoCoordMap = {"海门": [121.15, 31.89],"鄂尔多斯": [109.7 ...

  4. python 柱状图-【python】【数据分析】3D柱状图就是这么好看

    这是昨天帮同学作图的时候用到的一串代码,我担心我之后忘了,所以写在专栏里做个备份,感兴趣的人儿可以直接拷贝然后运行 importnumpy asnp importmatplotlib.pyplot a ...

  5. Java通过JfreeChart生成转Base64图片字符串(饼图、折线图、柱状图、折线图-多条、3D柱状图、气泡图、时序图、曲线图、区域图、分布图、联合分类图、双X轴图、K线图、柱状图-横向等图)

    工具类 CreatLineChart.java package DrawLine;import java.awt.BasicStroke; import java.awt.Color; import ...

  6. 【莫烦Python】Matplotlib Python 画图教程 目录引导

    1.[莫烦Python]matplotlib Python画图教程 Matplotlib基本用法 2.[莫烦Python]Matplotlib Python 画图教程 figure图像 3.[莫烦Py ...

  7. Python使用matplotlib进行3D可视化分析:3d柱状图、3d直方图、3d线框图、3d曲面图、3d翼面图(莫比乌斯环)

    Python使用matplotlib进行3D可视化分析:3d柱状图.3d直方图.3d线框图.3d曲面图.3d翼面图(莫比乌斯环) 目录

  8. Python画图示例(4) 3D绘图

    Python画图示例(1) 一维数据集绘图 Python画图示例(2) 二维数据集绘图 Python画图示例(3) 其他绘图样式,散点图,直方图等 Python画图示例(4) 3D绘图 import ...

  9. matplotlib bar3d画3d柱状图

    Rendering 效果: 3D 柱状图 按行/列涂颜色 柱加阴影.描黑边 自定义座标轴名.刻度标签.范围 Code 注意 meshgrid 带来的 xx.yy 与 acc_flat 之间顺序不匹配的 ...

最新文章

  1. “区块链”究竟是什么
  2. 机器学习 KNN算法实践
  3. A Color Picker based on manifold learning
  4. java并发编程与线程安全
  5. cachehelper java,初识EHCache缓存框架(2.x版本)
  6. 阿里云物联网边缘计算加载MQTT驱动
  7. centos6.5 安装mysql5.6多实例(多配置文件)
  8. 从json数组中获取某一属性的集合
  9. 2.1Android底层开发需要哪些工具
  10. 手机电子词典_如何把手机变成一款英语学习神器?
  11. 诺奖解读|薛鹏最新解读:从爱因斯坦不相信到幽灵般超距作用成真
  12. 利用输入法输入汉字,如何统计字数
  13. 人工智能,落地为王!深圳人工智能企业百强榜超七成为应用层
  14. 你知道云渲染和自己渲染有什么区别吗?
  15. 电脑提高或开启高性能模式
  16. 《咸鱼分享》咸鱼在线TOP
  17. 首架无人机运送移植器官 有助于克服延误状况
  18. Composer 中文镜像
  19. JS时间戳转YY-MM-DD,标准时间转YY-MM-DD
  20. 对壁纸窗口(Wallpaper Window)的管理分析

热门文章

  1. python locust post 参数拼接md5_HttpRunner接口自动化测试框架
  2. mysql重启及机器重启
  3. Python 匿名函数之 lambda
  4. 回首2018,你好2019!
  5. 星环科技Transwarp Sophon助力国泰君安人工智能平台建设:将AI应用到综合金融的全生命周期 | 百万人学AI评选
  6. PCIe 实战2-PCIe转USB3.0
  7. win10 远程桌面连接失败
  8. java中怎么自己画地图_如何绘制地图
  9. Android Settings->Sound->Phone ringtone试听铃声循环播放的原因
  10. 什么是TypeScript?为什么要用它来代替JavaScript?