我是Python的新手,并且在matplotlib中遇到了一些麻烦。我目前有两个numpy数组中包含的数据,称它们为x和y,我正在散点图上绘制每个点(x,y)的坐标(即,我有点x [0],y [0]和x 1,y 1等等)。我一直在使用下面的代码段基础上的相邻点的空间密度(找到另一计算器后)我的散点图来着色点:Matplotlib:按照相对于另一个数据集的密度着色散点图
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import gaussian_kde
x = np.random.normal(size=1000)
y = x*3 + np.random.normal(size=1000)
xy = np.vstack([x,y])
z = gaussian_kde(xy)(xy)
idx = z.argsort()
fig,ax = plt.subplots()
ax.scatter(x,y,c=z,s=50,edgecolor='')
plt.show()
输出:
我一直在使用它,而不确定它是如何工作的(即点密度计算 - 如果有人可以解释如何确切的工作,也将非常感激)。
但是,现在我想通过x,y中点的空间密度与另一组numpy数组中点的空间密度之比来对代码进行着色,称它们为x2,y2。也就是说,我想制作一个情节,以便我可以确定x,y中点的密度与同一散点图上x2,y2中的点的密度的比较。有人能解释我该如何去做这件事吗?
在此先感谢您的帮助!