This should really include <a href="http://ecomfe.github.io/echarts/index-en.html" rel="nofollow">http://ecomfe.github.io/echarts/index-en.html</a>
I always rely on Highcharts, probably the biggest library presented here.<p>Fit all the case (except map maybe) and flexible enough to let you change everything if you or your designer want something very specific !
I think <a href="http://nvd3.org/" rel="nofollow">http://nvd3.org/</a> should be added. It is the only free/OSS that was able to do the complex combined graphs I needed for a recent project.
I find it wildly perplexing that there are so many frameworks and libraries for javascript graphics and data visualization.<p>Wikipedia has a comparison matrix of <i>37</i> different libraries. <a href="http://en.wikipedia.org/wiki/Comparison_of_JavaScript_charting_frameworks" rel="nofollow">http://en.wikipedia.org/wiki/Comparison_of_JavaScript_charti...</a><p>Here is a list describing briefly at least 50 libraries:
<a href="http://techslides.com/50-javascript-charting-and-graphics-libraries" rel="nofollow">http://techslides.com/50-javascript-charting-and-graphics-li...</a>
Missing Plottable.js by Palantir, a solid modular charting library based on d3: <a href="https://github.com/palantir/plottable" rel="nofollow">https://github.com/palantir/plottable</a>
Great list! I personally use <a href="http://c3js.org" rel="nofollow">http://c3js.org</a> for all charts on <a href="https://wakatime.com/" rel="nofollow">https://wakatime.com/</a> because it's easy to use like highcharts, but comes with an open license. It's basically a wrapper around d3.js for all the common reusable charts, which makes it very easy to style and customize.
FusionCharts would be a good one to add. But then you will have to add like 40 more graph types as well<p><a href="http://www.fusioncharts.com/charts/" rel="nofollow">http://www.fusioncharts.com/charts/</a>
You might want to rephrase it to "Graph drawing" because there is the graph data structure and I thought that this link was about graphs. It might be just me but I can imagine people getting confused by the title.
Interestingly enough, I had a problem with ChartJS that no one seemed to be able to remedy. It was quite bizarre and at first seemed to be a cross browser issue, but after further investigation it seemed to just be some type of strange cross-machine issue. See it here <a href="http://stackoverflow.com/questions/30063762/side-effects-from-chartjs-for-only-some-clients" rel="nofollow">http://stackoverflow.com/questions/30063762/side-effects-fro...</a><p>Given that, I had to do some hacky stuff upon every refresh. Instead of using destroy() on the canvas, I had to remove the Canvas DOM object itself, building it back up, and inserting it again. Because of this I am a bit skeptical about using ChartJS again, which is unfortunate because I do love their Charts. I feel like maybe SVG might be the better way to go for analytics.
Very nicely done! I am just about to choose a charting library and this will be a great help.<p>Have you considered adding some sort of user rating system? I find myself kind of just wanting to know which one is most popular or highest rated (i.e. take some of the work out of choosing between 30+ libraries myself).
Non-developers on HN might find tools mentioned in this article useful:<p><a href="http://thenextweb.com/dd/2015/04/21/the-14-best-data-visualization-tools/" rel="nofollow">http://thenextweb.com/dd/2015/04/21/the-14-best-data-visuali...</a>
Neat. I've been maintaining a list of my own here: <a href="http://taoofmac.com/space/infoviz" rel="nofollow">http://taoofmac.com/space/infoviz</a> (no fancy graphics, but a fair amount of notes)
I've been looking for a chart library to display timeseries graphs and integrate well with react. The best one I found so far is react-d3. Unfortunately, it's still somewhat awkward.
Peek - <a href="http://mtmacdonald.github.io/peek/index.html" rel="nofollow">http://mtmacdonald.github.io/peek/index.html</a> is also based on D3.
Awesome site! I would love to see which ones are for Android, JS, of iOS. For example, I'm actually looking for a charting library for iOS but can't seem to filter for that. Here's another site I use to sort of see a lay-of-the-land view of charting libraries:<p><a href="http://stackshare.io/charting-libraries" rel="nofollow">http://stackshare.io/charting-libraries</a>
You'll find this article helpful if you are wondering what all factors to consider while choosing a JavaScript charting library:<p><a href="http://davidwalsh.name/13-factors-choosing-javascript-charting-library" rel="nofollow">http://davidwalsh.name/13-factors-choosing-javascript-charti...</a>
It would be fantastic if this comparison included average render times for graphs of various dimensions and number of data points, and/or maximum number of data points that can maintain a render time faster than 1/60s. Especially on Firefox for Linux, which doesn't have Direct2D available.
While we're on the topic, I'm beginning with js with a goal to create some materials for maths classes. Which library would let me do, for example, graphs of quadratic, cubic functions AND possibly drag/move the line to see how the equation translates? Thank you
This is a fantastic idea. I've done these comparisons myself and it's overwhelming and time-consuming.<p>Btw, I <i>love</i> the animations for the filtering, the way the items contract and rearrange themselves. What did you use for this?
Great work!<p>Just what I needed (a while ago, but again soon I'm sure). There are so many options with JS graphing now, it can be a bit overwhelming just assessing the options and their capabilities.
Very nice work. How about a graph type "arrow diagram" as a subtype of "drawing"? One thing I'm missing a bit in the list is GraphViz style diagrams.
Are any of these charting solutions being actively used in a cacti-like application? I feel like with how old the RRD technology is, something would have replaced it by now.
Nothing beats the power and flexibility of GNUPLOT. Still going strong after almost 30 years, with excellent documentation and loads of support on the web, too.
Or, if you don't want to integrate any of them, <a href="http://chartspree.io/" rel="nofollow">http://chartspree.io/</a>
What are the advantages of SVG or Canvas in that use case? Which one (SVG, Canvas) is principle faster on current browser with thousands of data points?
Thanks! It would also be nice if the license types of each library were included as well. Graphing libraries for the web can be surprisingly restrictive!
31 libraries, zero for "Large Data Set".<p>That tells you everything you need to know about Javascript/browser graphics for data science. A. The DOM cannot handle as many nodes as are needed for large datasets and/or B. even with Canvas/webgl etc the browser platform itself chokes on dataset sizes much bigger than 1/2 gig (ie, "small" data). So Javascript is fantastic for explanatory graphics, but forget about exploration.
as someone that soon enough hopes to need evaluating graphing libraries for a side project (implement the types of charts cachegrind [and similar] provide) this post came at a great time.