At chrt we are always very excited ๐Ÿ‘ฏ when we create new charts ๐Ÿ“Š. We love neat and crisp ๐Ÿค“ charts ๐Ÿ“ˆ.

The big names ๐Ÿง‘โ€๐Ÿซ ๐Ÿ‘ฉโ€๐Ÿซ (Spear, Bertin, Wilkinson, Tukey, Few, Tufte and others) have all described the best practices long ago, and still, for most of the charts that we see out in the wild ๐Ÿฆ (literally in the wild), it seems like they have never known about the existence of these practices.

Luckily the wilderness ๐Ÿฆ is not that wild ๐Ÿฑ

There are examples of libraries and tools to generate inspiring beautiful charts. One of our favorite tools is Datawrapper. Datawrapper wonโ€™t let you be disappointed: the charts are beautiful, neat and easy to read - and they follow the best practices. I would say that in a way they are opinionated charts: as a user, you can customize almost everything without wrecking years of research in data visualization with some questionably designed chart elements (axis titles, annotations, labelsโ€ฆ)

This doesnโ€™t quite often happen with chart libraries, through which you can do almost everything. I will never forget the feeling when I stepped into the pavilion of a large conference to see all around me dashboards built with the default versions of some widely used chart libraries. Default colors, default fonts, default sizes, rotated titles, and labelsโ€ฆeverywhere around me. I thought: why default charts should not be beautiful? and why default charts should be so tough to customize? and ultimately crafting charts should be fun!

With these questions in mind we set out our first goals for chrt:

  • neat and crisp โœจ
  • following best practices ๐Ÿ“š๐ŸŽ“
  • easy to customize ๐Ÿ’‡

The answer to these questions led to another question:

How to set the right balance between opinionated logic and flexibility?

As developers we want the freedom to control every pixel of our screen, as designers, we want to define boundaries. We will need to figure out where chrt is sitting between these two approaches.