Let’s Break some Rules

A few weeks ago, while I was driving several hours towards our camping vacation, I suddenly noticed this beautiful piece of data visualization right in front of me. Actually, I found it that beautiful that I had to remake it in Illustrator:

I was completely stunned by the clean and simple layout of this gauge chart. It shows everything I, as the driver, need to know such as: How fast am I driving at the moment, how far have I’ve been driving at all, when is it time to get a new car.

But then I realized that this tiny chart, despite its useful, intelligent design, violates some of the common rules of data visualization, so I thought it’s a good idea to write about it.

Continue reading

Using Twitter as Social Bookmarking Service

A while ago I realized that I totally stopped using social bookmarking services since I started tweeting. Whenever I find an interesting link I share it on Twitter. If I find interesting links tweeted by the people I follow I’m most likely to favorite that tweet. I guess that’s the way most people use Twitter. How often did you check someone’s public links on delicious? I rarely did.

Continue reading

Why We Need Another Mapping Framework

Over the last two years, cartography has drawn my attention from time to time. In 2009 I started my work in the field by porting the PROJ.4 library to ActionScript. My first notable interactive map application was a world map widget for the Piwik Analytics project, which is in use until today. It was born from the need to have a simple world map that is lightweight, easy to use and completely independent from external map services like Google Maps.

Continue reading

How To Avoid Equidistant HSV Colors

As some of you pointed out in the comments of my last post, taking equidistant colors in the HSV color space is no solution for finding a set of colors that are perceived as equidistant. This post describes what’s wrong with HSV and what we can do about this. Note that since this post contains interactive elements built on the latest web technologies, you might need a modern browser to get the most out of it.
click here for ultimate color geekyness

Take Care of your Choropleth Maps

Over the last week I had some fun playing with choropleth maps. Thereby I analyzed the following US poverty map, which was recently published at the Guardian data blog:

To be honest, the first time I saw this map I didn’t thought much about it. Ok, poverty is highest in south central of the United States, especially near Mexican border. But recently I used the same data to demonstrate a choropleth map that I created from-scratch and I was really surprised to see a somewhat different picture:

click to dig into the world of choropleth maps..

Say Goodbye to Red-Green Color Scales

I used to love them, but it’s over now: diverging red-green color scales.

red green scale

I bet the reason for the popularity of red-green color scales is that they are so easy to interpret (at least in my culture). Green means good, red means bad. For instance, the above map shows the income of private households for European regions. I used a diverging color scale to show the difference from the average income (bright yellow) with higher incomes in green and lower incomes in red. In fact, I picked the exact colors from good old flare visualization toolkit.

But there’s some trouble with this scale. Firstly, as alluded to above, the meaning of red and green vary a lot in different cultures. According to this helpful collection of Color Meanings By Culture, green is negatively associated in some Eastern cultures like China or Indonesia while red is associated to love, happiness and a long life.

Continue reading

Matching Regions of GeoIP and Natural Earth

In this post I’ll describe the process of bringing together the region shapes from the Natural Earth dataset with the regions provided in the GeoCityLite database. In the GeoCityLite db, the regions are referenced by a two-letter ID (FIPS10-4 for some countries, ISO3366-2 for others). Initially I thought that those IDs would be same as used in the Geonames admin-level 1 region db, which brought me to the first idea of mapping the regions via name similarity.

Continue reading