Matplotlib Basemap Tutorial: Interesting datasets to explore


This tutorial has been updated and moved to

In this tutorial, we have learned how to make a simple map and plot points on that map.  We have learned how to pull those points from a large dataset.  Now that you have a basic understanding of this process, the next step is to try your hand at plotting some data of your own.  You might start by exploring some of the following datasets.

Global Population data

This dataset ties global census data to latitude and longitude grids.

Climate Data library

This includes over 300 data files, from a variety of fields related to earth science and climatology.

IBM Many Eyes

This is an interesting project that allows people to upload their own datasets, which become available to the public.  You can add your visualizations of these datasets to the existing gallery.

USGov Raw Data

This is another large set of datasets, about a variety of topics.  This is where I found the data for the earthquake visualization featured in the tutorial.

Hilary Mason’s Research-Quality Datasets

Hilary Mason is a data scientist at bitly.  If you have never heard of her, it is well worth your time to take a look at her site.  If you are new to data science, you might want to start with here post Getting Started with Data Science.  She has a curated collection of interesting datasets here:

DEA Meth Lab database

This would be a little harder to work with, because the locations are given as addresses instead of by latitude and longitude.  It is also released in pdf format, which might be more challenging to work with.  But this is a pretty compelling topic, and it would be interesting to map out meth-related arrests and incidents of violent crime over different periods of time.


Smart Disclosure Data:


That’s it for this tutorial!  If you have another geospatial dataset to suggest, or if you create something interesting, please feel free to share it in the comments below.

Back to Tutorial contents


About ehmatthes

Teacher, hacker, new dad, outdoor guy
This entry was posted in programming and tagged , , , , , . Bookmark the permalink.

6 Responses to Matplotlib Basemap Tutorial: Interesting datasets to explore

  1. Anonymous says:

    I have just gone through the whole tutorials of yours.
    Very short and meaningful. Thank you very much.

  2. Mark Cimini says:

    What about displaying 3D data. Any examples? For example, showing roads with the third dimension representing the traffic load on the road or the number of potholes/deaths/accidents per mile.

  3. Mark Cimini says:

    def myLine3D(x1, y1, z1, x2, y2, z2):
    Y = [[y1, y1],
    [y2, y2]]
    Z = [[ 0., z1],
    [ 0., z2]]
    X = [[ x1, x1],
    [ x2, x2]]

    return X, Y, Z

    Draws a polygon. Think of it as connecting the points (x1, y1, 0) to (x2, y2, 0) with height at (x1, y1, 0) being z1 and the height at (x2, y2, 0) being z2. This creates a polygon with vertices (x1, y1, 0), (x1, y1, z1), (x2, y2, 0), and (x2, y2, z2). I use it to follow a path and represent incidents or density along that path. I used it to recreate the Minard Napolean graph in 3D (with a problem with disappearing text :-)). Worked nicely.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s