1

我在散点图中绘制了 n 个点的图。我想将绘图拆分为 x 长度的正方形网格,然后从我刚刚制作的网格中为图表中的每个点分配一个特定的正方形。我将如何在 Python 中执行此操作?

该图的代码是这样的:

图 = pos_table.plot.scatter('x', 'y', c = '紫色', s = 2)

这导致:

在此处输入图像描述

我如何将其分成正方形,然后计算每个正方形中的点数?谢谢

4

1 回答 1

1

我相信您正在寻找hist2d,这里有一个可能对您有所帮助的片段:

import numpy as np
import pandas as pd

np.random.seed(42)
x = np.random.uniform(0,40,size=20)
y = np.random.uniform(0,40,size=20)

pos_table = pd.DataFrame({'x':x, 'y':y})
diagram = pos_table.plot.scatter('x', 'y', c = 'purple', s = 2)
plt.show()

在此处输入图像描述

import matplotlib.pyplot as plt
bins = np.arange(0,41,10)
h = plt.hist2d(pos_table.x, pos_table.y, bins=(bins, bins))
plt.colorbar(h[3])

在此处输入图像描述

bins在示例中定义方形网格 (4X4),并h[3]包含有关每个 bin 中包含的点数的信息。

于 2020-01-02T15:46:25.330 回答