3 ms·
I recently evaluated lots of them for a dashboard project, and settled on flot. I built alternate working implementations in Flotr2 and Rickshaw, and less thoro
by katabatic 14y ago
I recently evaluated lots of them for a dashboard project, and settled on flot. I built alternate working implementations in Flotr2 and Rickshaw, and less thoroughly evaluated Dygraphs, Envision, RGraph, elycharts, grafico, AwesomeChartJS, Morris.js, and Highcharts.
Highcharts is very nice, but commercial (although there's a free license for non-commerical work available). I settled on flot eventually because it has a reasonably complete set of features, easy API, and there are lots of plugins available to complete all the features I wanted to have. A lot of the newer frameworks are less complete (for now, anway).
That said, I've admired D3 for a long time, it just didn't have a good basic time-series chart wrapper to help a JS newbie like me jump in. Rickshaw's a good start at that, but missing some features I need, like multiple Y-axes. A D3-based library is attractive, because I also want to integrate Cubism.js's horizon charts, and keeping them on the same rendering engine will cut down code size and be nicely consistent.
I did notice that browser performance at rendering SVG is still noticeably behind Canvas when you have lots of complex graphs on screen at once. The Rickshaw implementation of my dashboard (Rickshaw uses D3) slowed down considerably on my MacBook Air compaired to the flot version.
Cubism, D3, and now NVD3 are still very much in the running for v2 of my dashboard project.
- bobmonteverde 14y agoWe were using flot when I started. As soon as I found out about protovis I redid all our charts (and boy was everyone happy with that improvement). Shortly after that, d3 came out, in which case I ported all the protovis charts to d3. NVD3 is my second go at a collection of charts for d3.js... it was re-done from the ground up, and hopefully is much more true to d3's style than my previous attempt.
- katabatic 14y agoI might have used protovis for my first iteration, if not for the fact that I discovered it just as d3 was introduced :) I'm normally a server guy, but needed a good dashboard for our OpenTSDB metrics project, so I started diving into client-side JS -- going whole-hog on d3 without a good chart lib on top of it seemed to be a bit too steep of a learning curve. But I do love the possibility of open-ended charts, where we can dip into the power of d3 at will when we need something more custom. Like DiabloD3 commented below, I feel like doing an end-zone victory dance :). Nice work.