Python Bokeh – Plotting glyphs over a Google Map
Bokeh is a Python interactive data visualization. It renders its plots using HTML and JavaScript. It targets modern web browsers for presentation providing elegant, concise construction of novel graphics with high-performance interactivity.
Bokeh can be used to plot glyphs over a Google map. A glyph is a hieroglyphic character or a symbol. To use Google maps in Bokeh, we will use the gmap()
function of the plotting
class.
gmap()
Syntax : gmap(parameters)
Parameters :
- google_api_key : key of the Google API
- map_options : GMapOptions i.e. the configuration specific to the Google map
- active_drag : drag tool that is to be initially active
- active_inspect : inspect tool that is to be initially active
- active_scroll : scroll tool that is to be initially active
- active_tap : tap tool that is to be initially active
- title : title of the Google map
- tools : tools the plot should start with
- x_axis_label : label for the x-axis
- x_axis_location : location of the x-axis
- x_minor_ticks : number of minor ticks between adjacent x-axis major ticks
- y_axis_label : label for the y-axis
- y_axis_location : location of the y-axis
- y_minor_ticks : number of minor ticks between adjacent y-axis major ticks
Returns : an object of the class GMap
Now let us see how to configure the Google map using the GMapOptions()
function :
GMapOptions()
Syntax : GMapOptions(parameters)
Parameters :
- lat : latitude where the Google map is to be centered
- lng : longitude where the Google map is to be centered
- map_type : type of map to be used for the plot, here are the map types available :
- hybrid
- roadmap
- satellite
- terrain
- name : name for the Google map
- scale_control : whether the Google map should display its distance scale control
- styles : style of map to be used for the plot
- subscribed_events : list of events that are subscribed to by Python callbacks
- tags : tags associated with the Google map model
- tilt : tilting the angle of the map
- zoom : initial zoom level of the Google map
- apply_theme : theme of the model
Returns : an object of the class GMapOptions
Let us see how to plot glyphs over a Google Map :
- Import the required libraries and modules :
- gmap from bokeh.plotting
- ColumnDataSource and GMapOptions from bokeh.models
- output_file and show from bokeh.io
- Create a file to store our model using
output_file()
.
- Configure the Google map using
GMapOptions()
.
- Generate a GoogleMap object using
gmap()
.
- Determine the coordinates of the glyphs using
ColumnDataSource()
.
- Generate the glyphs on the created Google map object.
- Display the Google map using
show()
.
from bokeh.plotting import gmap
from bokeh.models import ColumnDataSource, GMapOptions
from bokeh.io import output_file, show
output_file( "gfg.html" )
lat = 28.7041
lng = 77.1025
map_type = "hybrid"
zoom = 11
google_map_options = GMapOptions(lat = lat,
lng = lng,
map_type = map_type,
zoom = zoom)
google_api_key = ""
title = "Delhi"
google_map = gmap(google_api_key,
google_map_options,
title = title)
source = ColumnDataSource(
data = dict (lat = [ 28.6 , 28.65 , 28.7 , 28.75 , 28.8 , 28.85 ],
lon = [ 76.95 , 77 , 77.05 , 77.1 , 77.15 , 77.25 ]))
x = "lon"
y = "lat"
size = 20
fill_color = "red"
fill_alpha = 1
google_map.square(x = x,
y = y,
size = size,
fill_color = fill_color,
fill_alpha = fill_alpha,
source = source)
show(google_map)
|
Output :
Last Updated :
03 Jul, 2020
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...