我想使用geoviews绘制类似于 kdeplot 的东西,而无需实际绘制轮廓线。geoplot库支持这样的东西:
我怎样才能在geoviews中制作这样的情节?
这是我设法通过geoviews生成的kdeplot类型的一个非常基本的示例,默认情况下会绘制分隔不同强度的黑线:
import geoviews.tile_sources as gts
import geoviews as gv
import numpy as np
from sklearn.neighbors import KernelDensity
gv.extension('bokeh')
np.random.seed(2021)
# Define extent of GPS coordinates
xmean = -12.015358
ymean = -76.990665
xmin, xmax = xmean*0.9, xmean*1.1
ymin, ymax = ymean*0.9, ymean*1.1
xrange = np.linspace(xmin, xmax, num=1000)
yrange = np.linspace(ymin, ymax, num=1000)
# Sample GPS coordinates
latlon = np.vstack([np.random.choice(xrange, 100), np.random.choice(yrange, 100)]).T
# Fit a gaussian kernel
kde = KernelDensity(bandwidth=0.03)
kde.fit(latlon)
# Apply gaussian kernel on grid
X, Y = np.mgrid[xmin:xmax:100j, ymin:ymax:100j]
positions = np.vstack([X.ravel(), Y.ravel()])
Z = kde.score_samples(positions.T).reshape(X.shape)
# Define Map
kde_plot = gv.FilledContours((Y, X, Z)).opts(cmap='PuBu', fill_alpha=0.5)
background_plot = gts.CartoLight
geomap = (kde_plot * background_plot).opts(width=800, height=550, xaxis=None, yaxis=None)
geomap
我找不到gv.FilledCountours
删除这些行的任何参数设置。