How to Make a Tiled Bar Chart with D3.js

Show individual data points by splitting bars into smaller cells.

Bar charts are one of the most effective ways of conveying quantitative data, be it size of population, GDPs or life expectancy. However, while they’re excellent for comparing values, they don’t really convey the size of the values.

For example, if a bar is representing a population of 5 million people or of just a small group of people it’s still just a rectangle. There’s no indication (besides the y-axis) that a bar is representing 10, 100, 1000 or 10,000 individual items.

To address this, you can split a bar into smaller cells.

To access this full tutorial and download the source code you must be a member. (If you are already a member, log in here.)

Gain unlimited access to this tutorial and over a hundred more, plus courses and guides!


Gain unlimited access to hundreds of hours worth of step-by-step visualization courses and tutorials for insight and presentation — all while supporting an independent site. Source code and data is included so that you can more easily apply what you learn in your own work.

The tutorials are very helpful to move from "Oooo, cool!" to how to actually DO the cool.

Members also recieve a weekly newsletter, The Process, which looks more closely at the tools, the rules, and the guidelines and how they work in practice.

See samples of everything you gain access to:

About the Author

Peter Cook is a freelance data designer and developer. He's also the author of D3 in Depth and Create With Data. You can find him on Twitter @animateddata and his personal site Animated Data.