Geoviews: Add a slider to choropleth map
I'm working on GeoViews and I'd like to know if we could have a slider as an input for the choropleth map in GeoViews.
I've another variable in gdf, which is year. Is it possible to have a slider to show year wise Total_Crimes?
Edit: Added more information:
gdf dataframe has following variables.
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...
I've essentially grouped gdf by beat_num and Year and found out Total_Crimes for each group.
Datatypes of gdf:
beat_num int64
Year int64
Total_Crimes int64
beat object
district object
sector object
geometry object
Entire Code:
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))
Output:
python bokeh holoviews geoviews
add a comment |
I'm working on GeoViews and I'd like to know if we could have a slider as an input for the choropleth map in GeoViews.
I've another variable in gdf, which is year. Is it possible to have a slider to show year wise Total_Crimes?
Edit: Added more information:
gdf dataframe has following variables.
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...
I've essentially grouped gdf by beat_num and Year and found out Total_Crimes for each group.
Datatypes of gdf:
beat_num int64
Year int64
Total_Crimes int64
beat object
district object
sector object
geometry object
Entire Code:
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))
Output:
python bokeh holoviews geoviews
add a comment |
I'm working on GeoViews and I'd like to know if we could have a slider as an input for the choropleth map in GeoViews.
I've another variable in gdf, which is year. Is it possible to have a slider to show year wise Total_Crimes?
Edit: Added more information:
gdf dataframe has following variables.
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...
I've essentially grouped gdf by beat_num and Year and found out Total_Crimes for each group.
Datatypes of gdf:
beat_num int64
Year int64
Total_Crimes int64
beat object
district object
sector object
geometry object
Entire Code:
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))
Output:
python bokeh holoviews geoviews
I'm working on GeoViews and I'd like to know if we could have a slider as an input for the choropleth map in GeoViews.
I've another variable in gdf, which is year. Is it possible to have a slider to show year wise Total_Crimes?
Edit: Added more information:
gdf dataframe has following variables.
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...
I've essentially grouped gdf by beat_num and Year and found out Total_Crimes for each group.
Datatypes of gdf:
beat_num int64
Year int64
Total_Crimes int64
beat object
district object
sector object
geometry object
Entire Code:
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))
Output:
python bokeh holoviews geoviews
python bokeh holoviews geoviews
edited Nov 14 '18 at 20:55
Samira Kumar
asked Nov 13 '18 at 0:35
Samira KumarSamira Kumar
4716
4716
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Yes, it's always possible to have a slider in GeoViews if you want one! I can't quite tell what you're doing from that code snippet, but I'm guessing that gdf is a GeoPandas dataframe, which would presumably have latitude and longitude as key dimensions. To get a slider, you then need to add an additional key dimension ('kdim')for the year. You may also need to aggregate the data by year, if it's not already aggregated in that way. There are examples on pyviz.org and geoviews.org that should get you started, or you can post a more complete example.
I've updated the post with entire code and output.. Thanks
– Samira Kumar
Nov 14 '18 at 20:56
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53272108%2fgeoviews-add-a-slider-to-choropleth-map%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Yes, it's always possible to have a slider in GeoViews if you want one! I can't quite tell what you're doing from that code snippet, but I'm guessing that gdf is a GeoPandas dataframe, which would presumably have latitude and longitude as key dimensions. To get a slider, you then need to add an additional key dimension ('kdim')for the year. You may also need to aggregate the data by year, if it's not already aggregated in that way. There are examples on pyviz.org and geoviews.org that should get you started, or you can post a more complete example.
I've updated the post with entire code and output.. Thanks
– Samira Kumar
Nov 14 '18 at 20:56
add a comment |
Yes, it's always possible to have a slider in GeoViews if you want one! I can't quite tell what you're doing from that code snippet, but I'm guessing that gdf is a GeoPandas dataframe, which would presumably have latitude and longitude as key dimensions. To get a slider, you then need to add an additional key dimension ('kdim')for the year. You may also need to aggregate the data by year, if it's not already aggregated in that way. There are examples on pyviz.org and geoviews.org that should get you started, or you can post a more complete example.
I've updated the post with entire code and output.. Thanks
– Samira Kumar
Nov 14 '18 at 20:56
add a comment |
Yes, it's always possible to have a slider in GeoViews if you want one! I can't quite tell what you're doing from that code snippet, but I'm guessing that gdf is a GeoPandas dataframe, which would presumably have latitude and longitude as key dimensions. To get a slider, you then need to add an additional key dimension ('kdim')for the year. You may also need to aggregate the data by year, if it's not already aggregated in that way. There are examples on pyviz.org and geoviews.org that should get you started, or you can post a more complete example.
Yes, it's always possible to have a slider in GeoViews if you want one! I can't quite tell what you're doing from that code snippet, but I'm guessing that gdf is a GeoPandas dataframe, which would presumably have latitude and longitude as key dimensions. To get a slider, you then need to add an additional key dimension ('kdim')for the year. You may also need to aggregate the data by year, if it's not already aggregated in that way. There are examples on pyviz.org and geoviews.org that should get you started, or you can post a more complete example.
answered Nov 14 '18 at 0:52
James A. BednarJames A. Bednar
68625
68625
I've updated the post with entire code and output.. Thanks
– Samira Kumar
Nov 14 '18 at 20:56
add a comment |
I've updated the post with entire code and output.. Thanks
– Samira Kumar
Nov 14 '18 at 20:56
I've updated the post with entire code and output.. Thanks
– Samira Kumar
Nov 14 '18 at 20:56
I've updated the post with entire code and output.. Thanks
– Samira Kumar
Nov 14 '18 at 20:56
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53272108%2fgeoviews-add-a-slider-to-choropleth-map%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown