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 есть примеры, которые помогут вам начать, или вы можете опубликовать более полный пример.