36

Does anyone know of a Javascript charting library that can handle huge datasets?

By 'huge', I mean drawing a line graph with around 1,000 lines and 25,000 data points in total. (With an uneven distribution of points per line. A lot of lines have very few points, but some have up to 4,000.) Here is an example data file.

Currently I'm using Highcharts, but it's far too slow at plotting huge datasets.

I don't want to use Flash or Silverlight.

I was hoping to use Javascript so that my users can zoom+pan around the graph, and turn lines on/off etc. But if this is just too much data for any Javascript charting library to handle, then I'll have to make the graphs server-side.

Tony
  • 439
  • 11
  • 20
Adam Nellis
  • 1,500
  • 1
  • 16
  • 23

4 Answers4

33

In their example, the dygraphs library handles six thousand data points in a very fast manner. Perhaps that would be suitable for your needs?

It is based on Canvas with excanvas for IE support.

Nicholas Shanks
  • 10,623
  • 4
  • 56
  • 80
  • @Nicholas Thank you so much for linking to this library. I've been trying to use google charts and it bogs down the browser like crazy when using large data sets. My client requires default views that show thousands of points and this is a nice drop in alternative because they even support GVis tables, so I had to change almost nothing – MechaMarinara Feb 27 '14 at 20:33
  • @CryptDemon It was created by a Google engineer, so it's not surprising that it is compatible with Google Charts. – Nicholas Shanks Mar 01 '14 at 08:30
  • Thank you for sharing link to this library, it is amazing! – ino Dec 08 '17 at 21:12
11

The ZingChart JavaScript charting library might be worth checking out. It was specifically built for big data and offers some great features to ensure fast, stable renders without losing interactivity.

Here is a demo that renders 100k points in under one second. And if you'd like to make some comparisons, there is also the ZingChart Vs. demo (note the warning on the top right- some libs can mess with your browser).

Full disclosure, I'm on the ZingChart team. I'm happy to answer any questions you might have about the library.

Merrily
  • 1,686
  • 10
  • 14
9

ECharts can handle a large amount of data (I've tested them with 100k points x 3 series).

It is an open source and free to use (Apache 2.0) library. Here is an example of a large scale data chart https://ecomfe.github.io/echarts-examples/public/editor.html?c=candlestick-large

If you would like to use Echarts line series type with a large amount of data you should turn on "sampling" http://echarts.apache.org/option.html#series-line.sampling to aggregate data points. Another useful option would be showSymbol: false which will also boost performance.

jmarceli
  • 19,102
  • 6
  • 69
  • 67
0

Old thread but maybe of some use. Highcharts have added a 'boost' module to improve dataset point plotting. They say this can handle millions of data points with ease.

andora
  • 1,326
  • 1
  • 13
  • 23