Matplotlib和numpy Historogram2D轴问题

Matplotlib和numpy Historogram2D轴问题,numpy,matplotlib,histogram2d,Numpy,Matplotlib,Histogram2d,我正在努力使轴正确: 我已经得到了x和y值,并希望将它们绘制在二维直方图中(以检查相关性)。为什么我会得到一个直方图,每个轴上的限制为0-9?如何使其显示实际值范围 这是一个最小的示例,我希望在(3,3)处看到红色的“星”: 如果我理解正确,您只需要设置interpolation='none' import numpy as np import matplotlib.pyplot as plt x = (1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 3) y = (1, 2, 3

我正在努力使轴正确:

我已经得到了
x
y
值,并希望将它们绘制在二维直方图中(以检查相关性)。为什么我会得到一个直方图,每个轴上的限制为0-9?如何使其显示实际值范围

这是一个最小的示例,我希望在
(3,3)
处看到红色的“星”:


如果我理解正确,您只需要设置
interpolation='none'

import numpy as np
import matplotlib.pyplot as plt

x = (1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 3)
y = (1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 3)
xedges = range(5)
yedges = range(5)
H, xedges, yedges = np.histogram2d(y, x)
im = plt.imshow(H, origin='low', interpolation='none')


看起来对吗?

如果我理解正确,您只需要设置
interpolation='none'

import numpy as np
import matplotlib.pyplot as plt

x = (1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 3)
y = (1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 3)
xedges = range(5)
yedges = range(5)
H, xedges, yedges = np.histogram2d(y, x)
im = plt.imshow(H, origin='low', interpolation='none')


这看起来对吗?

我认为问题有两个方面:

首先,直方图中应该有5个箱子(默认设置为10):

其次,要设置轴值,可以使用
区段
参数,如下所示:


我认为问题有两方面:

首先,直方图中应该有5个箱子(默认设置为10):

其次,要设置轴值,可以使用
区段
参数,如下所示:


不太可能,红方块仍在(5,5)处,需要刻度,以便它们反映实际数据值。红方块应该是(3,3)。两者都是,你需要
extent
+
interoplation='none'
不是真的,红方块仍然是(5,5)并且需要刻度,以便它们反映实际的数据值。红方块应该在(3,3)处。它既是(3,3)又是(3,3),您需要
extent
+
interoplation='none'
H, xedges, yedges = np.histogram2d(y, x,bins=5)
im = plt.imshow(H, interpolation=None, origin='low',
                extent=[xedges[0], xedges[-1], yedges[0], yedges[-1]])