当前位置: 首页 > news >正文

使用python绘制三维直方图

使用python绘制三维直方图

  • 三维直方图
    • 定义
    • 特点
  • 效果
  • 代码

三维直方图

维直方图(3D直方图)是一种用于展示三维数据分布情况的图表。它扩展了二维直方图的概念,通过在三维空间中绘制柱体来表示数据在三个维度(X、Y、Z)上的分布。

定义

三维直方图通过在三维坐标系中绘制柱体(或称为箱子)来展示数据在X、Y平面上的分布,以及每个数据区间内的数据频数或频率(Z轴表示)。每个柱体的底面位置由X和Y坐标确定,高度(Z轴)则表示该区间内的数据频数。

特点

  • 立体感强:能够直观展示数据在三维空间中的分布,具有强烈的视觉冲击力。
  • 多维数据展示:适合展示两个独立变量及其频数或频率分布。
  • 直观对比:能够通过柱体高度的差异直观对比不同区间的数据量。

效果

在这里插入图片描述

代码

import matplotlib.pyplot as plt
import numpy as np# 示例数据
data = np.random.normal(size=(3, 100))# 创建图形和三维坐标轴
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')# 绘制三维直方图
hist, edges = np.histogramdd(data.T, bins=(4, 4, 4))xpos, ypos, zpos = np.meshgrid(edges[0][:-1] + 0.25, edges[1][:-1] + 0.25, edges[2][:-1] + 0.25, indexing="ij")
xpos = xpos.flatten()
ypos = ypos.flatten()
zpos = zpos.flatten()
dx = dy = dz = 0.5 * np.ones_like(zpos)ax.bar3d(xpos, ypos, zpos, dx, dy, dz, zsort='average')# 设置坐标轴标签
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')# 设置标题
plt.title('3D Histogram')# 显示图形
plt.show()

相关文章:

  • 面向对象编程基本概念
  • opengauss安装postgis插件(Docker部署)
  • GPU性能相关的工具
  • 多态深度剖析
  • 算法day26
  • spring boot jwt 实现用户登录完整java
  • 如何用 JavaScript 下载文件
  • C#版 iText7——画发票PDF(完整)
  • 多种异构数据的分析设计方案1:使用策略模式+函数式接口
  • 微服务项目雪崩的解决思路
  • 【吉林大学Java程序设计】第7章:对象的容纳
  • 了解Java的LinkedBlockingQueue
  • 什么是模板字符串?
  • Mathf.Approximately
  • grafana连接influxdb2.x做数据大盘
  • [iOS]Core Data浅析一 -- 启用Core Data
  • __proto__ 和 prototype的关系
  • css属性的继承、初识值、计算值、当前值、应用值
  • js如何打印object对象
  • Protobuf3语言指南
  • Rancher-k8s加速安装文档
  • RxJS: 简单入门
  • Spring声明式事务管理之一:五大属性分析
  • TypeScript迭代器
  • Unix命令
  • vagrant 添加本地 box 安装 laravel homestead
  • Vue--数据传输
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 分布式任务队列Celery
  • 技术:超级实用的电脑小技巧
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 前端技术周刊 2019-01-14:客户端存储
  • 全栈开发——Linux
  • 实现简单的正则表达式引擎
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 小程序01:wepy框架整合iview webapp UI
  • 一个完整Java Web项目背后的密码
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • # centos7下FFmpeg环境部署记录
  • #define、const、typedef的差别
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • #微信小程序:微信小程序常见的配置传值
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • $().each和$.each的区别
  • (11)MSP430F5529 定时器B
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (八)c52学习之旅-中断实验
  • (独孤九剑)--文件系统
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (三)模仿学习-Action数据的模仿
  • ***利用Ms05002溢出找“肉鸡
  • .NET : 在VS2008中计算代码度量值