I am using chart.js
and chartjs-plugin-zoom
to produce a real-time zoomable, pannable line graph containing around 200-400 datasets, each with anywhere from 10-50 data points. Needless to say, the chart contains thousands of points in total and performance suffers.
Currently, rendering the chart takes a few seconds depending on the amount of data, and zooming/panning the graph is extremely choppy. I have noticed that the sheer number of datasets hurts performance even more than the sheer number of points, and I am wondering how to improve performance to make the experience faster and smoother.
I have seen the chart.js doc page on performance here, but I cannot disable point/line drawing, and I cannot use data decimation because I need to see every point.
A few questions:
- Are there any other optimizations for large numbers of datasets?
- Are there any optimizations/improvements for
chartjs-plugin-zoom
? - Failing any available improvements with chart.js, are there any other open-source libraries that could handle this type of work (and include zoom functionality)?