来自matplotlib.pyplot.hist2d的奇怪的“计数”矩阵

时间:2019-01-17 16:12:17

标签: python matplotlib histogram histogram2d

我想从2dhist函数获取2d numpy数组。获得计数后,我想在pyplot.imshow()函数中绘制数据以进一步添加一些信息。允许显示在我的列表中的整数在0到11之间(因此为12个bin)。

但是,我得到一个奇怪的矩阵。

data1 = [2, 3, 3, 10, 3, 2, 10, 2, 2, 2, 2, 2, 10, 2, 10, 10, 9, 2, 9, 10, 
9, 9, 9, 3, 10, 3, 2, 10, 1]
data2 = [5, 6, 7, 7, 7, 7, 6, 4, 6, 4, 4, 8, 5, 5, 5, 6, 8, 6, 5, 4, 5, 6, 
4, 4, 6, 4, 5, 4, 5]
n_bins = 12
fig, ax = plt.subplots()
counts, xedge, yedge, image = ax.hist2d(data1, data2, bins=n_bins)

result: 
array([[0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0.],
       [3., 0., 0., 3., 0., 0., 2., 0., 0., 1., 0., 1.],
       [2., 0., 0., 0., 0., 0., 1., 0., 0., 2., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [1., 0., 0., 2., 0., 0., 1., 0., 0., 0., 0., 1.],
       [2., 0., 0., 2., 0., 0., 3., 0., 0., 1., 0., 0.]])

transposed:
 array([[0., 3., 2., 0., 0., 0., 0., 0., 0., 0., 1., 2.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [1., 3., 0., 0., 0., 0., 0., 0., 0., 0., 2., 2.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 2., 1., 0., 0., 0., 0., 0., 0., 0., 1., 3.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 1., 2., 0., 0., 0., 0., 0., 0., 0., 0., 1.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0.]])

如果我们仔细查看数据列表,就会发现例如整数0永远不会出现。因此,如何在第一列中添加一个条目?

非常感谢您的内幕。 谢谢。

0 个答案:

没有答案