Geoviews: добавить слайдер на карту хороплета

Я работаю над GeoViews, и я хотел бы знать, может ли у нас быть ползунок в качестве входных данных для картограммы в GeoViews.

У меня есть другая переменная в 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 и Year и выяснил 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))

Выход: Выход

1 ответ

Да, у GeoViews всегда есть слайдер, если он вам нужен! Я не могу точно сказать, что вы делаете из этого фрагмента кода, но я предполагаю, что gdf - это фрейм данных GeoPandas, который предположительно будет иметь широту и долготу в качестве ключевых измерений. Чтобы получить слайдер, вам нужно добавить дополнительное ключевое измерение ('kdim') для года. Вам также может потребоваться агрегировать данные по годам, если они еще не агрегированы таким образом. На pyviz.org и geoviews.org есть примеры, которые помогут вам начать, или вы можете опубликовать более полный пример.

Другие вопросы по тегам