如果您预先拥有数据,我们可以使用 numpy 和/或 pandas 来首先计算批量距离,然后将数据加载到图表中 .
比如我们可以先用以下方法构造一个n×2矩阵:
import numpy as np
A = np.array([list(get_coord()) for _ in range(L)])
然后我们可以使用 scipy 来计算距离的2d矩阵,例如:
from scipy.spatial.distance import pdist, squareform
B = squareform(pdist(A))
例如 A 是:
>>> A
array([[ 0.16401235, -0.60536247],
[ 0.19705099, 1.74907373],
[ 1.13078545, 2.03750256],
[ 0.52009543, 0.25292921],
[-0.8018697 , -1.45384157],
[-1.37731085, 0.20679761],
[-1.52384856, 0.14468123],
[-0.12788698, 0.22348265],
[-0.27158565, 0.21804304],
[-0.03256846, -2.85381269]])
那么 B 将是:
>>> B
array([[ 0. , 2.354668 , 2.81414033, 0.92922536, 1.28563016,
1.74220584, 1.84700839, 0.8787431 , 0.93152683, 2.25702734],<