簡體   English   中英

如何在bokeh中的GMapPlot上繪制數據着色器圖像?

[英]How do I plot a datashader image over a GMapPlot in bokeh?

在bokeh中, InteractiveImage(p, create_image) p參數稱為base_plot但它的類型是一個figure GMapPlot稱為圖,但其類型是model

我想要的是能夠在GMapPlot背景上繪制數據陰影圖。 有沒有人找到如何做到這一點? 我不能用GMapPlot代替p參數,並且文檔也沒有(似乎)向我展示如何組合這些InteractiveImage概念。

不知道是否仍然需要答案,但是現在將交互式數據着色器圖疊加在地圖數據之上非常簡單:

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'))

導致:

在地圖圖塊上疊加人口普查數據

(請參閱完整的筆記本, 網址https://anaconda.org/jbednar/census-hv/notebook

它本身不是GMapPlot,但可以滿足許多相同的需求。 也應該可以在GMapPlot上疊加,如果仍然需要,請在datashader github站點上提交問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM