核密度估计坐标

时间:2017-04-15 02:28:35

标签: javascript python d3.js scipy kernel-density

我在跟随this tutorial后使用以下代码在坐标(纬度和经度)上执行kde,该坐标表示2015年NYC街道树普查中树木的位置。

import numpy as np
from scipy import stats

xmin, xmax = min(zip_latitudes), max(zip_latitudes)
ymin, ymax = min(zip_longitudes), max(zip_longitudes)

X, Y = np.mgrid[xmin:xmax:100j, ymin:ymax:100j]
positions = np.vstack([X.ravel(), Y.ravel()])
values = np.vstack([zip_latitudes, zip_longitudes])
kernel = stats.gaussian_kde(values)
Z = np.reshape(kernel(positions).T, X.shape)

然后我使用matplotlib绘制类似于热图的结果:

fig = plt.figure()
ax = fig.add_subplot(111)
ax.imshow(np.rot90(Z), cmap=plt.cm.gist_earth_r,extent=[xmin, xmax, ymin, ymax])
ax.plot(zip_latitudes, zip_longitudes, 'k.', markersize=2)
ax.set_xlim([xmin, xmax])
ax.set_ylim([ymin, ymax])
plt.show()

但是,我需要坐标才能将它们添加到leaflet.js和mapbox.js图中。我尝试在Z中打印一些元素,但我不确定这是对的。我的计划是使用python获取坐标然后将结果写入csv使用d3和lealet.js在地图上创建热图。有什么建议吗?

0 个答案:

没有答案