如何从列表列表中绘制二维直方图?

How to plot 2d histograms from a list of lists?

我有一个二维直方图,它被记录并保存到列表列表中,如下所示:

lst:
    [[1.0, 1.0, 10], [1.0, 2.0, 28.6], [1.0, 3.0, 26.93], [1.0, 4.0, 26.93],[2.0, 1, 6],[2.0, 2.0, 4],[2.0, 3.0, 67],[2.0, 4, 23],[3.0, 1.0, 12], [3.0, 2.0, 65], [3.0, 3.0, 33], [3.0, 4.0, 53]]

第一项和第二项是指 x 和 y,第三项指向该单元格的值。我想将它们绘制成二维热图。有什么想法可以让我绘制它们吗?

你只需要转置你的列表列表就可以绘图了!

import matplotlib.pyplot as plt
import numpy as np

data = [[1.0, 1.0, 10], 
        [1.0, 2.0, 28.6], 
        [1.0, 3.0, 26.93], 
        [1.0, 4.0, 26.93],
        [2.0, 1, 6],
        [2.0, 2.0, 4],
        [2.0, 3.0, 67],
        [2.0, 4, 23],
        [3.0, 1.0, 12], 
        [3.0, 2.0, 65], 
        [3.0, 3.0, 33],
        [3.0, 4.0, 53]]

 data = np.array(data).T

 fig, axs = plt.subplots(2, 2, figsize=(5, 5))
 axs[0, 0].hist(data[0])
 axs[1, 0].scatter(data[0], data[1])
 axs[0, 1].plot(data[0], data[1])
 axs[1, 1].hist2d(data[0], data[1])

 plt.show()