Chapter 11. Chart.js and Highcharts Templates

In Chapter 6, we looked at powerful drag-and-drop tools, such as Google Sheets, Datawrapper, and Tableau Public to build interactive charts.

In this chapter, we’ll look into creating interactive charts using two popular JavaScript libraries, Chart.js and Highcharts. Since we don’t expect our readers to be proficient in JavaScript or any other programming language, we designed templates that you can copy to your own GitHub account, substitute data files, and publish them to the web without writing a single line of code. For those of you who are code-curious, we’ll show how the JavaScript code in these templates can be customized.

Why would anyone prefer JavaScript to easy-to-use Datawrapper or Tableau, you may wonder? Well, a few reasons. Although JavaScript code may seem overwhelming and intimidating at first, it allows for greater customization in terms of colors, padding, interactivity, and data handling than most third-party tools can offer. In addition, you can never be sure that third-party apps will remain free, or at least have a free tier, forever, whereas open source tools are here to stay, free of charge, as long as someone maintains the code.


Although both libraries are open source, Highcharts comes with a stricter license that allows it to be used for free for noncommercial projects only, such as a personal, school, or nonprofit organization website. Keeping that in mind, we primarily focus on Chart.js, which is distributed ...

Get Hands-On Data Visualization now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.