我如何在bokeh的GMapPlot上绘制一个datashader图像?

2024-10-03 17:27:25 发布

您现在位置:Python中文网/ 问答频道 /正文

在bokeh中,InteractiveImage(p, create_image)p参数称为base_plot,但它的类型是figureGMapPlot称为绘图,但它的类型是model。在

我想要的是能够在GMapPlot背景下绘制数据阴影图。有人知道怎么做吗?我不能用GMapPlot代替p param,而且文档也没有(似乎)告诉我如何组合这些交互图像概念。在


Tags: 数据image绘图类型base参数modelplot
1条回答
网友
1楼 · 发布于 2024-10-03 17:27:25

不确定是否仍需要答案,但在地图数据上覆盖交互式数据阴影图现在非常简单:

import pandas as pd, holoviews as hv, geoviews as gv, datashader as ds
from bokeh.models import WMTSTileSource
from holoviews.operation.datashader import datashade
hv.notebook_extension('bokeh')

df = pd.read_hdf('data/census.h5', 'census')
dataset = gv.Dataset(df, kdims=['meterswest', 'metersnorth'], vdims=['race'])

tiles = gv.WMTS(WMTSTileSource(url=\
'https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{Z}/{Y}/{X}.jpg'))

color_key = {'w':'blue', 'b':'green', 'a':'red', 'h':'orange', 'o':'saddlebrown'}

tiles * datashade(dataset, x_sampling=10, y_sampling=10, cmap=color_key,
                  element_type=gv.Image, aggregator=ds.count_cat('race'))

导致:

Overlay of census data on map tiles

(请参阅https://anaconda.org/jbednar/census-hv/notebook上的完整笔记本)

它本身不是GMapPlot,但满足了许多相同的需求。它还可以覆盖在GMapPlot上,如果仍然需要,请在datashadergithub站点上提交一个问题。在

相关问题 更多 >