如何绘制 3D 直方图

2024-02-13

我有三个数组,我正在尝试制作 3D 直方图。

x = [1, 2, 3, 2, 5, 2, 6, 8, 6, 7]
y = [10, 10, 20, 50, 20, 20, 30, 10, 40, 50, 60]
z = [105, 25, 26, 74, 39, 85, 74, 153, 52, 98]

到目前为止,这是我的尝试:

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = plt.axes(projection='3d')

binsOne = sorted(set(x))
binsTwo = sorted(set(y))
hist, xedges, yedges = np.histogram2d(x, y, bins=[binsOne, binsTwo])
xpos, ypos = np.meshgrid(xedges[:-1] + 0.25 , yedges[:-1] + 0.25)
xpos = xpos.flatten('F')
ypos = ypos.flatten('F')
zpos = np.zeros_like(xpos)

dx = dx.flatten()
dy = dy.flatten()
dz = hist.flatten()

ax.bar3d(xpos, ypos, zpos, dx, dy, dz, color='b', zsort='average')

如何将 z 数组合并到 3D 直方图中?


The z数组必须具有相同的形状而不是x and y but of xpos and ypos(它们本身的形状相同)。你可能会发现这个例子 https://matplotlib.org/gallery/mplot3d/3d_bars.html比你看上去更有用借鉴自 https://matplotlib.org/examples/mplot3d/hist3d_demo.html。以下代码用于演示第一个链接中应用于您的问题的示例,

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

_x = [1, 2, 3, 2, 5, 2, 6, 8, 6, 7]
_y = [10, 10, 20, 50, 20, 20, 30, 10, 40, 50]
_xx, _yy = np.meshgrid(_x, _y)
x, y = _xx.ravel(), _yy.ravel()
_z = np.array([105, 25, 26, 74, 39, 85, 74, 153, 52, 98])

# There may be an easier way to do this, but I am not aware of it
z = np.zeros(len(x))
for i in range(1, len(x)):
    z[i] = _z[(i*len(_z)) / len(x)]

bottom = np.zeros_like(z)
width = depth = 1

ax.bar3d(x, y, bottom, width, depth, z, shade=True)
plt.show()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何绘制 3D 直方图 的相关文章

随机推荐

  • 使用 SQL 从日期范围拆分/透视数据

    您好 我对拆分 枢转日期有疑问 这是我的查询 select Name Start End from Employees where Start gt 1 27 2014 and End lt 1 31 2014 样本数据会是这样的 我想要做
  • Sphinx 和 JavaScript 文档工作流程 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 对于我的 JavaScript 框架 我想使用 Sphinx 由于我是 Sphinx 世界的新手 我希望你们能帮助我开始使用 Sphi
  • Ruby on Rails:如何检测是否通过 JSON 访问?

    我得到了一个调用控制器方法 getInfo 的 GET URL 可以通过 mydomain com getInfo json params BLAHBLAH 或 mydomain com getInfo params BLAHBLAH 调用
  • Objective-C 中的不可变对象:大 init 方法?

    我想要一个 Objective C 中具有不可变字段的对象 在 C 中 我将使用具有私有 setter 和大型构造函数的 Properties 我会在 Objective C 中使用什么 使用 property 似乎不允许我将 setter
  • 获取该月的最后一天? [复制]

    这个问题在这里已经有答案了 可能的重复 PHP 本月最后一天 https stackoverflow com questions 1686724 php last day of the month 有没有类似的功能 date gt getM
  • 如何在 matplotlib 中保存调整为对象大小的图形?

    大家好 我正在尝试保存 matplotlib 中的数字 它保存图形周围的空白 我的意思是它增加了空间 它不保存调整后的对象大小 在 Inkscape 中编辑它们非常容易 我在这个软件中进行编辑 但是当图形超过 50 个时 这就不太好了 我这
  • 为什么 boost::filesystem::path 和 std::filesystem::path 缺少运算符+?

    考虑以下关于路径分解的断言 其中每个局部变量例如stem有明显的初始化 例如auto stem path stem assert root path root name root directory assert path root nam
  • 谷歌地图绘制文物

    在开发我当前的项目时 我正在使用谷歌地图 我在地图上画了一些圆圈 并在缩放或移动地图后在地图上发现了一些伪影 但让我们看一下文档中的官方 Google Maps Circles 演示 谷歌地图圆圈简单 https google develo
  • 为表中的主键随机生成 1-999 之间的唯一数字

    我有一个问题 我不知道如何优雅地解决 背景资料 我有一张小部件表 每个小部件都分配有一个数字范围内的 ID 假设在 1 999 之间 1 999 的值作为 lower range 和 upper range 保存在我的数据库中名为 conf
  • 如何组合这两个 WordPress 搜索查询?

    我有两个搜索查询 人们以默认方式搜索与参数匹配的任何帖子标题 第二个查询设置为搜索帖子元键为 SKU 的任何帖子 就像搜索查询一样 我正在尝试组合这两个查询 以便搜索将返回标题或 sku 与搜索词匹配的任何帖子 第一个查询 args arr
  • Tensorboard 不再显示标量

    我决定更新张量板 因为它没有显示图表 在图表面板上我只能看到一个空白页 没有错误消息 现在我已经更新了图表 这是我的张量板显示的唯一内容 现在我看不到标量或直方图 我有 No scalar data was found 消息 直方图等也是如
  • Apache (EC2) 上的文件上传速度慢于用户的网络上传速度

    我有一个 EC2 实例 运行基本的 LAMP 堆栈作为 Web 服务器 用户可以通过我的网络应用程序上传照片 然后将其存储在目录中并记录在 MySQL 中 通常 这些上传速度与用户的互联网上传速度允许的速度一样快 不幸的是 多个用户报告有时
  • 在 Azure Functions 中将 F# 记录类型返回为 JSON

    我正在 F 中创建一个简单的 azure 函数 最后 我返回 JSON 格式的记录类型 我正在做这样的事情 let y Gender Woman Frequency 17 Percentage 100 0 req CreateRespons
  • 在使用 get 请求的 http 调用时将数组传递到 URLSearchParams

    浏览 WebAPI 文档URL搜索参数 https developer mozilla org en US docs Web API URLSearchParams 我没有找到任何有关将数组作为参数传递的文档 有人可以帮忙吗 事实上 你不能
  • 极坐标比 numpy 慢?

    我正在考虑使用polars代替numpy在一个解析问题中 我将结构化文本文件转换为字符表并对不同的列进行操作 然而 似乎polars大约慢5倍numpy在我执行的大多数操作中 我想知道为什么会出现这种情况以及我是否做错了什么polars应该
  • 依赖 NSUbiquitousKeyValueStore 存储重要数据是否安全?

    我了解到NSUbiquitousKeyValueStore总是可用的 也当没有 iCloud 帐户 https stackoverflow com a 11174855 251760已设置 这让我相信我可以安全地将重要数据存储在其中 而无需
  • 如何让表单和交易在phoenix+ecto中发挥良好?

    我正在玩 Phoenix Ecto 我偶然发现了一些对我来说不习惯的东西 我有一个代表一个表格Invitation 创建邀请函时 我们还需要创建一个User显然我希望两者都发生在一个事务中 这样我就可以保持数据的一致性 在我的表格中我要求n
  • 有没有在 GCP Composer Airflow 上安装私有依赖项的成功案例?

    背景信息 通常在容器环境中 我可以使用以下命令轻松安装我的私有依赖项 requirements txt像这样 index url https user pass some repo jfrog io some repo api pypi p
  • Google 存储桶的签名网址与提供的签名不匹配

    我在使用谷歌存储时遇到了困难 所以我正在尝试做一个签名网址 https cloud google com storage docs access control Signed URLs 已经有客户端 ID 这是一封电子邮件 和私钥 如所述h
  • 如何绘制 3D 直方图

    我有三个数组 我正在尝试制作 3D 直方图 x 1 2 3 2 5 2 6 8 6 7 y 10 10 20 50 20 20 30 10 40 50 60 z 105 25 26 74 39 85 74 153 52 98 到目前为止 这