Matplotlib 垂直拉伸 histogram2d

2023-12-13

我正在使用这段代码:

fig = plt.figure(num=2, figsize=(8, 8), dpi=80,
                 facecolor='w', edgecolor='k')
x, y = [xy for xy in zip(*self.pulse_time_distance)]
H, xedges, yedges = np.histogram2d(x, y, bins=(25, 25))
extent = [-50, +50, 0, 10]
plt.imshow(H, extent=extent, interpolation='nearest')
plt.colorbar()

然而,要生成 2D 直方图,该图会垂直拉伸,我根本不知道如何正确设置其大小:

Matplotlib stretches 2d histogram vertically


事物被“拉伸”,因为你正在使用imshow。默认情况下,它假设您要显示绘图的纵横比为 1(在数据坐标中)的图像。

如果您想禁用此行为,并使像素拉伸以填充绘图,只需指定aspect="auto".

例如,要重现您的问题(基于您的代码片段):

import matplotlib.pyplot as plt
import numpy as np

# Generate some data
x, y = np.random.random((2, 500))
x *= 10

# Make a 2D histogram
H, xedges, yedges = np.histogram2d(x, y, bins=(25, 25))

# Plot the results
fig, ax = plt.subplots(figsize=(8, 8), dpi=80, facecolor='w', edgecolor='k')

extent = [-50, +50, 0, 10]
im = ax.imshow(H, extent=extent, interpolation='nearest')
fig.colorbar(im)

plt.show()

enter image description here

我们只需添加即可修复它aspect="auto" to the imshow call:

import matplotlib.pyplot as plt
import numpy as np

# Generate some data
x, y = np.random.random((2, 500))
x *= 10

# Make a 2D histogram
H, xedges, yedges = np.histogram2d(x, y, bins=(25, 25))

# Plot the results
fig, ax = plt.subplots(figsize=(8, 8), dpi=80, facecolor='w', edgecolor='k')

extent = [-50, +50, 0, 10]
im = ax.imshow(H, extent=extent, interpolation='nearest', aspect='auto')
fig.colorbar(im)

plt.show()

enter image description here

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

Matplotlib 垂直拉伸 histogram2d 的相关文章

随机推荐

  • 向下移动 X 轴标签,但不向下移动 matplotlib 中的 X 轴刻度

    我正在使用 Matplotlib 绘制直方图 使用我之前问题中的提示 Matplotlib 标记每个 bin 我或多或少已经解决了这些问题 最后还有一个问题 之前 x 轴标签 时间 以毫秒为单位 被渲染在 x 轴刻度线 0 00 0 04
  • 如果存储在中间“double”变量中,浮点计算会发生变化

    我正在尝试编写一个简单的以 2 为底的对数方法 我知道在计算机上表示 std log 8 0 和 std log 2 0 之类的东西很困难 我还了解 std log 8 0 std log 2 0 可能会导致值略低于 3 0 我不明白的是
  • keras.layers.TimeDistributed 与 hub.KerasLayer NotImplementedError

    我想将 tf keras TimeDistributed 层与最新 TensorFLow V2 版本 tf nightly gpu 2 0 preview 中的 tf hub inception v3 CNN 模型结合使用 输出如下所示 似
  • std::vector 是否使用 Push_back 复制对象?

    经过对 valgrind 的大量调查后 我得出的结论是std vector复制您想要的对象push back 这是真的吗 如果没有副本 向量就无法保留对象的引用或指针吗 Yes std vector
  • Java 中“+i”是什么意思? [复制]

    这个问题在这里已经有答案了 我在查看同事的代码时遇到了这个问题 她不小心留下了它 它曾经是一个字符串连接 我认为它无法编译 事实证明我错了 所以我尝试看看那个操作员做了什么 public static void main String ar
  • A-Frame 中是否有最大视频纹理分辨率?

    我有一个视频球体 我想将高分辨率 5100 x 2550px 视频纹理映射到它上面
  • 如何设置 JVM 使用的代理

    很多时候 Java 应用程序需要连接到 Internet 最常见的示例发生在读取 XML 文件并需要下载其架构时 我在代理服务器后面 如何设置 JVM 以使用代理 来自Java文档 notjavadoc API http download
  • 在 Python 中打印二维列表的一列

    假设如果A 1 2 3 4 5 6 7 8 9 Then A 0 prints 1 2 3 但为什么A 0 print 1 2 3 再次 它应该打印该列 1 4 7 不应该吗 相当于复制 A 0 是 A 副本的第一行 A 0 是 A 第一行
  • 为 UIAlertAction 编写处理程序

    我正在介绍一个UIAlertView给用户 我不知道如何编写处理程序 这是我的尝试 let alert UIAlertController title Title message Message preferredStyle UIAlert
  • Orion Context Broker 安装问题

    我们正在尝试按照此链接中的建议在 CentOS 7 虚拟机中安装 Orion Context Broker https fiware orion readthedocs io en master admin install index ht
  • 使用 WCF 接口

    我已经用谷歌搜索并阅读了几个小时 但找不到任何人可以处理我的具体情况 我想在 WCF 服务契约中使用接口来将服务与线路两端使用的类松散耦合 这将使我们能够拥有一个低级程序集 其中仅包含我们可以交给顾问的服务和数据契约 仅接口 在网络的一端
  • ggplot2 热图 2 种不同的配色方案 - 混淆矩阵:与错误分类不同的配色方案中的匹配

    我改编了混淆矩阵的热图这个答案 不过我想扭转它 在对角线中 从左上到右下 是匹配项 正确的分类 我的目标是在黄色调色板中绘制这条对角线 红色调色板中的不匹配 因此除了对角线中的瓷砖之外的所有瓷砖 In my plot cm函数我可以得到对角
  • sails:如何将数组的数组转换为json对象

    我正在尝试读取我上传的 xlsx find 并尝试将数组数组转换为 json 键值对对象 所以我正在尝试下面的代码片段 var fs uploadedFiles 0 fd var xlsxRows require xlsx rows var
  • ONVIF #PasswordDigest 的公式是什么

    我正在研究发送 GetDeviceInformation 的 ONVIF 这是必需的 wsse UsernameToken 经过查资料权威 有两个公式 1 通过 ONVIF Core Specification v241 pdf 5 12
  • 在Python中用连字符分割单词时创建两个新列

    我有一个数据集 df 其中有一列包含两个由连字符分隔的单词 我想为每个分割值创建两个新列 Value Type ABC California Low DEF New York Low 期望的输出 Value1 Value2 Type ABC
  • 如何解决错误“System.InvalidCastException - 列包含 NULL 数据”

    当我运行应用程序并搜索时出现此错误 System InvalidCastException 列包含 NULL 数据 在 Oracle ManagedDataAccess Client OracleDataReader GetDecimal
  • 如何自动重新加载我的gunicorn服务器?

    我想知道如何自动重新启动我的gunicorn 服务器 我的 django 项目代码更改后 目前 我在进行更改后正在手动重新启动 只需终止进程并重新加载即可 但这不是一个好方法 所以我想知道如何在代码更改后自动执行相同的操作 我也在使用ngi
  • 在 IntelliJ 15 中运行临时文件时出错

    Code 运行时我得到以下信息 参考 https www youtube com watch v AmeDNZ 86ig 设置 此处没有更改任何内容 找到了解决方案 请参阅此处的记录 Eugene Zhuravlev 2016 年 2 月
  • 从另一个运行空间向表单添加元素

    我有一个表单 一旦准备好 就会添加几个元素 例如 列表 添加它们可能需要一些时间 从几分之一秒到几分钟 因此 我想将处理添加到单独的线程 子线程 中 元素的数量事先未知 例如 文件夹中有多少个文件 因此它们是在子流中创建的 当子流中的处理结
  • Matplotlib 垂直拉伸 histogram2d

    我正在使用这段代码 fig plt figure num 2 figsize 8 8 dpi 80 facecolor w edgecolor k x y xy for xy in zip self pulse time distance