我正在研究GeoViews,我想知道我们是否可以有一个滑块作为GeoViews中的choropleth地图的输入。
我在gdf中还有一个变量,那就是年份。有可能有一个滑块来显示年份的Total_Crimes吗?
编辑:添加了更多信息:
gdf dataframe有以下变量。
beat_num Year Total_Crimes beat district sector geometry
111 2012 1449 1 01 1 POLYGON ((-87.62451050462798 41.88829675314376...
111 2013 1645 1 01 1 POLYGON ((-87.62451050462798 41.88829675314376...
111 2014 1636 1 01 1 POLYGON ((-87.62451050462798 41.88829675314376...
111 2015 1642 1 01 1 POLYGON ((-87.62451050462798 41.88829675314376...
111 2016 1836 1 01 1 POLYGON ((-87.62451050462798 41.88829675314376...我从本质上对gdf进行了、beat_num、和年分组,并找到了每个组的Total_Crimes。gdf的数据类型:
beat_num int64
Year int64
Total_Crimes int64
beat object
district object
sector object
geometry object 整个法典:
import geopandas as gpd
import holoviews as hv
import geoviews as gv
import geoviews.tile_sources as gts
hv.extension('bokeh')
geometries = gpd.read_file('geo_export_3b3b25c2-a600-40c3-a663-2f7ad8dc2b9c.shp')
#Reading the shape file for each beat_num.
geometries['beat_num']=geometries['beat_num'].apply(int)
#Converted the beat_num to integers
gdf = gpd.GeoDataFrame(pd.merge(ca_df, geometries))
#dataframe ca_df has total crimes for each beat_num and each year and merged it with geometries to get shape for each beat_num.
plot_opts = dict(tools=['hover'], width=750, height=700, color_index='Total_Crimes',
colorbar=True, toolbar='above', xaxis=None, yaxis=None)
gts.ESRI *gv.Polygons(gdf, vdims=['beat_num', 'Total_Crimes'], label='Chicago Crime Data').opts(plot=plot_opts,style=dict(alpha=0.7))输出:

发布于 2018-11-14 00:52:31
是的,如果您想要的话,在GeoViews中总是可以有一个滑块!我无法从代码片段中完全分辨出您在做什么,但我猜想gdf是一个GeoPandas数据帧,它可能以纬度和经度作为关键维度。要获得一个滑块,您需要为该年添加一个额外的键维度(“kdim”)。如果数据还没有以这种方式聚合,则还可能需要按年汇总数据。在pyviz.org和geoviews.org上有一些示例可以帮助您入门,或者您可以发布一个更完整的示例。
https://stackoverflow.com/questions/53272108
复制相似问题