Maximising the data-ink ratio in a World Cup visualization
Many years ago a manager of mine introduced me to a fantastic book about data visualization, entitled The Visual Display of Quantitative Information, by Edward Tufte:
You should go to a bookstore and buy this book, it's great.
One of the core concepts in this book is that of the "data-ink" ratio - the amount of ink used to represent data vs the total amount of ink used to draw the entire image. There are many examples of this throughout the book, and it's a concept that has stuck with me.
FIFA World Cup
We recently dusted off our FIFA World Cup Visualizer and released it as an app that people can use in their sites. In this app we're particularly pleased with the group stage visualization, because we think it has a satisfying data-ink ratio:
For a given team in the group stage, this visualization lets the user track 10 discrete pieces of information:
Stats table
In the stats table the user can view:
- The number of wins
- The number of draws
- The number of losses
- The total goals scored by the team
- The total goals scored against the team
- The points scored by the team
Border color
The team's ranking in the group is encoded by the border color:
- Dark green - 1st place
- Light green - 2nd place
- Orange - 3rd place
- Red - 4th place
Edges
The edges linked to each team represent the matches the team has played, and they contain the score for each match. The user can see all of the matches played and the individual scores.
Summary
At a glance, a user can absorb every piece of information about the group stage they need to, in a single place. We're quite pleased with this visualization. Got any comments? Drop us a line via the contact page - we love to chat about this sort of stuff.
In a future post we're going to look at some other ways in which VisuallyJs can be used to create innovative views on a dataset, including a really nifty flight booking component.
Try VisuallyJs
VisuallyJs offers an extensive list of starter apps, diagrams, charts and dashboards to quick start your development, in React, Angular, Vue, Svelte and Typescript/Javascript.
























