On the roadmap for Moodle 3.2 was added the requirement for a new charting library.
The requirements can be split in two different categories, the rendering, and the API.
The winner is
Chart.js wins We have investigated the following libraries: Chart.js Highcharts CanvasJS Chartist n3 Google Charts Flot/jQuery D3 Plotly.js/D3 C3/D3 nvd3/D3 dimple-js/D3 dc-js/D3 metricsgraphicsjs/D3 ECharts After considering popularity (Github stars, contributors, Stackoverflow questions), license, maturity, and relative simplicity, we shortlisted these: C3 Chart.js Echarts Chart.js won because it is the most popular even though it only contains a limited set of chart types. Echarts was very promising but the community around it being mainly non-English speaking felt risky as getting help online would be much harder. C3 is a layer on top of D3 with aim to provide a simpler charting solution, however its popularity was quite limited compared to the other ones. Other more or less popular libraries could have been discarded because of their license, complexity, or being an overkill for what we need.