It is often useful to display a progress bar showing the state of a task. MG_Progress can easily be used to display a progress bar, percent completion, and estimated time to completion. As a simple example, let’s pretend to load 100 items (while actually just waiting a bit):

foreach i, mg_progress(indgen(100), title='Loading') do wait, 0.1

The above line produces the following output:

Code for mg_progress__define is on GitHub (you will need mg_statusline also). See the code docs for the many other options that can be used with MG_Progress like dealing with a list of items that don’t all take equal time and customizing the display.

John Nelson produced this beautiful map of how the boundaries of US droughts have changed over the last five years with data from the US Drought Monitor:

Link via FlowingData.

Part 2 (of what promises to be a four part series) of the great comparison of Google Maps and Apple Maps by Justin O’Beirne. See part 1 before starting with part 2.

This is an example of using a clever color key that doubles as a histogram showing the distribution of the corresponding areas.

By the way, this post is from a great series about small ways to make better visualizations.

Great post examining some of the reasons why the FFT algorithm is so fast compared to a naive implementation:

The goal of this post is to dive into the Cooley-Tukey FFT algorithm, explaining the symmetries that lead to it, and to show some straightforward Python implementations putting the theory into practice. My hope is that this exploration will give data scientists like myself a more complete picture of what’s going on in the background of the algorithms we use.

A nice list of resources for doing remote sensing in Python, especially if you already know IDL.

Nice example of why rainbow color tables can be misleading:

Regular readers will be aware of the #endrainbow campaign to reduce the use of rainbow colour palettes in scientific figures. At the recent EGU conference, I gave a talk on ‘making better figures’, which included an example of a published conclusion which was incorrect due to the use of a rainbow colour scheme.

via @asoconnor via @rsimmon

This is a great article about the change in balance between cities and roads in Google Maps between 2010 and 2016.

He also compares Google Maps versions to an old printed map:

Even though it’s from the early 1960s, the old map is more balanced than the Google map.

There are a lot of visualization lessons to be learned from cartography.

A Visual Introduction to Machine Learning provides a simple, visual explanation of using decision trees:


  1. Machine learning identifies patterns using statistical learning and computers by unearthing boundaries in data sets. You can use it to make predictions.

  2. One method for making predictions is called a decision trees, which uses a series of if-then statements to identify boundaries and define patterns in the data

  3. Overfitting happens when some boundaries are based on on distinctions that don’t make a difference. You can see if a model overfits by having test data flow through the model.

The post, which is already ten months old, promises a second in the series on overfitting, but this short introduction is a fine standalone.

The ENVI Analytics Symposium is happening again August 23-24 this year in Boulder, CO:

The 2016 ENVI Analytics Symposium (EAS) continues its exploration of remote sensing and Big Data analytics around the theme of geospatial signatures to analytical insights.

Though I don’t use ENVI at all, remote sensing is still interesting to me and I would be interested in how this community is using “Big Data analytics”.

older posts »