可以简单地从中采样概率密度函数散点图的点。我使用了Psi(X1, X2)您在链接帖子中定义的内容。
可以调整采样点的数量、alpha 和标记类型。轴可以重新归一化为网格网格的尺寸。

在下面的代码中,我取输入矩阵的绝对值,因为它具有负值。如果您有正数据和负数据,您可能希望将负值设置为 0,并将不同颜色的散点图添加到同一轴。
import numpy as np
import matplotlib.pylab as plt
def sample(mat, count=10000):
shape = mat.shape
magn = np.abs(mat) # input should not be negative
cumsum = magn.cumsum()
samples = [None] * count
for i, rand in enumerate(np.random.random(count) * magn.sum()):
idx = np.argmax(cumsum > rand)
samples[i] = (idx % shape[0], idx / shape[1])
return samples
sample_x, sample_y = zip(*sample(psi(X1,X2)))
plt.figure()
plt.scatter(sample_x, sample_y, alpha=0.25, marker=".")