I was diagnosed with Type 1 Diabetes two years ago, and one of the hardest adjustments has been the need to figure out the amount of carbohydrate in everything I am about to eat, so I can take the right amount of insulin to cover it.

Over time I have built a mental model of the carbohydrate content of common foodstuffs, so I decided to create a chart to make that model even clearer. It’s the kind of thing I wish I’d had when I was diagnosed.

Food carbs

[Click for an interactive version.]

The data comes from Public Health England’s Composition of foods integrated dataset, although I have heavily curated the data to remove foods that are very similar, processed foods (this is intended to be a picture of simple raw foods), and food that I don’t eat. The dataset has also been influenced by other work I’ve done to automate carb counting from recipes.

Given the number of points on the chart it quickly became clear that it was not feasible to label them all. So I compromised by labelling only those foods that have more than 10g of carbs per 100g. The others can be identified by hovering over them with the mouse (on the interactive version). I think this hybrid scheme works well, as you don’t have to spend your time hovering over all the high carb foods to see what they are.

Visualization type: beeswarm chart

Data source: Composition of foods integrated dataset, Public Health England, Excel, 4.4 MB

Technical notes: generated using d3, using d3-labeler, and Mike Bostock’s Beeswarm code; code