Skip to content
Plotting data on google maps, the easy (stupid) way.
Branch: master
Clone or download
Michael Woods
Latest commit e3bc4f7 Apr 21, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
gmplot Add future's absolute_import and fix imports. Apr 21, 2018
tests 'make test' runs, and some basic tests. Apr 21, 2018
.gitignore Added build files. Dec 25, 2014
MANIFEST.in Creation using check-manifest -c Dec 25, 2014
Makefile 'make test' runs, and some basic tests. Apr 21, 2018
README.rst Improve README. Draw can return the html if no arg provided. Mar 4, 2018
setup.py

README.rst

gmplot

Plotting data on Google Maps, the easy way. A matplotlib-like interface to generate the HTML and javascript to render all the data you'd like on top of Google Maps. Several plotting methods make creating exploratory map views effortless. Here's a crash course:

from gmplot import gmplot

# Place map
gmap = gmplot.GoogleMapPlotter(37.766956, -122.438481, 13)

# Polygon
golden_gate_park_lats, golden_gate_park_lons = zip(*[
    (37.771269, -122.511015),
    (37.773495, -122.464830),
    (37.774797, -122.454538),
    (37.771988, -122.454018),
    (37.773646, -122.440979),
    (37.772742, -122.440797),
    (37.771096, -122.453889),
    (37.768669, -122.453518),
    (37.766227, -122.460213),
    (37.764028, -122.510347),
    (37.771269, -122.511015)
    ])
gmap.plot(golden_gate_park_lats, golden_gate_park_lons, 'cornflowerblue', edge_width=10)

# Scatter points
top_attraction_lats, top_attraction_lons = zip(*[
    (37.769901, -122.498331),
    (37.768645, -122.475328),
    (37.771478, -122.468677),
    (37.769867, -122.466102),
    (37.767187, -122.467496),
    (37.770104, -122.470436)
    ])
gmap.scatter(top_attraction_lats, top_attraction_lons, '#3B0B39', size=40, marker=False)

# Marker
hidden_gem_lat, hidden_gem_lon = 37.770776, -122.461689
gmap.marker(hidden_gem_lat, hidden_gem_lon, 'cornflowerblue')

# Draw
gmap.draw("my_map.html")

https://imgur.com/C6dnec8.png

Geocoding

gmplot contains a simple wrapper around Google's geocoding service enabling map initilization to the location of your choice. Rather than providing latitude, longitude, and zoom level during initialization, grab your gmplot instance with a location:

gmap = gmplot.GoogleMapPlotter.from_geocode("San Francisco")

Plot types

  • Polygons with fills - plot
  • Drop pins. - marker
  • Scatter points. - scatter
  • Grid lines. - grid
  • Heatmaps. - heatmap

http://i.imgur.com/dTNkbZ7.png

Misc.

Code hosted on GitHub

Install easily with pip install gmplot from PyPI.

Inspired by Yifei Jiang's (jiangyifei@gmail.com) pygmaps module.

You can’t perform that action at this time.