Python:从 numpy 矩阵创建二维直方图

标签 python numpy matrix matplotlib histogram

我是 python 的新手。

我有一个 numpy 矩阵,尺寸为 42x42,值在 0-996 范围内。我想使用这些数据创建一个 2D 直方图。我一直在看教程,但它们似乎都展示了如何从随机数据而不是 numpy 矩阵创建二维直方图。

到目前为止,我已经导入了:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import colors

我不确定这些导入是否正确,我只是想从我看到的教程中尽可能地学习。

我有一个 numpy 矩阵 M,其中包含所有值(如上所述)。最后,我希望它看起来像这样:

2D histogram

显然,我的数据会有所不同,所以我的情节应该看起来不同。谁能帮帮我?

编辑:为了我的目的,下面Hooked的例子,使用matshow,正是我要找的。

最佳答案

如果您有来自计数的原始数据,您可以使用 plt.hexbin 为您创建绘图(恕我直言,这比方格更好):改编自 hexbin 的示例:

import numpy as np
import matplotlib.pyplot as plt

n = 100000
x = np.random.standard_normal(n)
y = 2.0 + 3.0 * x + 4.0 * np.random.standard_normal(n)
plt.hexbin(x,y)

plt.show()

enter image description here

如果您提到的矩阵中已经有 Z 值,只需使用 plt.imshowplt.matshow:

XB = np.linspace(-1,1,20)
YB = np.linspace(-1,1,20)
X,Y = np.meshgrid(XB,YB)
Z = np.exp(-(X**2+Y**2))
plt.imshow(Z,interpolation='none')

enter image description here

关于Python:从 numpy 矩阵创建二维直方图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27156381/

相关文章:

python - 如何计算某些连续日期范围的汇总统计数据

python - 在 Django 中定义模型

python - 如何检查 SQLAlchemy session 是否脏

python - 如何在 pandas 的应用函数中测试 nan?

python - 使用键数组根据第一个元素按顺序拉取元素

arrays - 为什么在单个索引 numpy 数组的形状中有一个额外的逗号

python - 以 numpy 数组为对象的 Numpy 数组

python - 将文本文件读入矩阵 - python

algorithm - 一个人在矩阵中移动 n 步的死亡概率

c - 如何将产品行迭代到 C 中的列