House Prices & Household Income

This was originally posted on my first blog, Data vs Food, in November 2018

This week’s MakeoverMonday looked at a chart from that details how many hours people have to work to afford a house in the largest US cities.


It’s definitely a striking piece of data viz, it really draws your eye with its 3D bar charts towering over the map of the US.

But comparisons are almost impossible and there are just so many labels.

Anyway, here’s what I came up with for this week

Click the image for the interactive version

I chose to look at how many cities were in different prices bands, for both median household income and median house listing price (the two unit histograms). And then how do these two values relate to each other (the scatterplot). Though I didn’t time myself, this was at least a couple hours of exploration, creating, recreating and tinkering.

Initial chart types

I spent a while throwing pills onto worksheets and seeing what I came up with. Here’s a few charts that didn’t make the cut.


Colour & Consistent Design

Colour can be so important in data visualisation. Both knowing where to use it to highlight something important; and where not to use it so your message isn’t lost.

However I wanted to see if I could still make something using very little colour; just black, white, and grey. The marks in each unit histogram have their own colour, grey for house price and white (with a black border) for income. These colours are consistent with the titles, and when the two different measures “combine” in the scatterplot, the two marks combine as well.

So something like this provides a link between the three charts on the dashboard. A subtle bit of design that connects the charts together giving some consistency to the dashboard.

There are loads of different ways to do this: be it matching colours, fonts, lines types used (or not used), line weights, backgrounds, number formats, or a combination of these. There’s a lot to be said for keeping things consistent.

Disappearing axis

For the dashboard layout I used, some charts had axes that I wanted to keep, while other needed to be removed. To ensure the charts lined up I used the following custom formatting to hide the values in these axes. You could do this by setting the font colour to match the background, however doing it that way would allow the axis to still be seen if/when it was selected.

Doing this allowed everything to line up neatly, forgoing the need to play around with padding or make everything floating.


I felt these three charts shouted out for some form of interactivity. The first thing I added was a highlight action. This allows you to select single or multiple cities from any of the charts and see where there are in the other charts.

I also had my first go with set actions, I used these to highlight the city you’re hovering over on a map and a chart in the tooltips.


And if you’re curious, I used Licecap to record the above gif.