The State of Javascript Charting Frameworks

CorePlot.jpg

Since I don't have a lot to do right now, I wanted to see what the current state of the Javascript charting libraries was. I know that D3 is out there, and it's one of the tried-and-true open source tools out there, but it's not necessarily meant for real-time applications, and given that I think in real-time applications, I tend to think of it as the static graphs toolset that allows you to fiddle with every little bit. In fact, you have to build everything yourself. It's not bad... it's just not high-level, and it's not necessarily meant for real-time.

I found Highcharts on a search, and it looks very nice. Now it's commercial, but you get what you pay for, and the very best charting package I've ever used is the Vantage Point Java library. It was, and is, just amazing. But it's Java, and while that's OK, it's still very costly, and you can't embed it in a web page these days because of the Java applet situation.

Highcharts has several packages - simple charting, stock (financial) charting, mapping, etc. It's not a bad system, and the demos they have include the code to generate them, and I have to say, it looks pretty nice. Again, you get what you pay for.

Smoothie Charts looks very nice for real-time strip-chart plotting. The code is very simple, and it's got all the auto-scaling that you can imagine, but it's a strip-chart and not a full-blown charting system. But it is fast.

Fusioncharts is one of the older ones, and it's got a lot of nice functionality, but it's commercial, and a bit on the steep side unless you're really wanting to spend a lot on this.

There were others, but they didn't stack up well against these. Open Source is nice because it's a chance to give back as well as fix problems. Paid is nice in that you have support and someone else fixing the issues - maybe. Lots of trade-offs, and I have no doubt that more are on the way. This is just something that's seen really amazing growth, and I can't believe it's going to stop any time soon.