I’ve been doing some work on LangPop.com, and one of the things I’d like to do is update the chart software. What I have now, Plotr seems to work ok, but being the tinkering type, I want to fix things, even if they’re not broke. Truth be told, my worry is that Plotr isn’t maintained any more, so it would be a good idea to find something that’s receiving a bit of attention.
The candidates:
These seem to be fairly up to date in the sense that someone worked on them recently. There are some older ones like PlotKit, that do not appear to be maintained any more. It is entirely possible that I missed a good one. Another possibility would be to use Google’s chart API, but I’d rather be a little bit more in control of things than to farm that out, and I also am planning on doing some interactive features in the near(ish) future.
So let’s have a look:
Flot
Based on JQuery, this one looks fairly complete, and has a lot of different, nice looking charts. Since I don’t really care what library it’s based on JQuery seems as good as any other, being quite popular these days. Installation is pretty simple, and, having good defaults, it’s easy to get nice looking data up on the screen in short order.
Flotr
Modeled after Flot, Flotr uses Prototype (the Rails default) instead of JQuery, and is the follow up to Plotr. I’m not quite sure what the motivation was behind the name/project change, but this seems to be where the guy is spending his time. Since he did a good job with Plotr, this one seemed worth a look too.
ProtoChart
This one is based on Prototype too. It immediately annoyed me by uncompressing from the .zip file in the current directory, scattering files around. I’ve always found this behavior a bit antisocial. This code claims to be “motivated by Flot, Flotr and PlotKit libraries”, which indicate that it’s fairly recent. However, my feeling is that the problem is not necessarily how old code is in these projects, but how quickly they spring up, bloom, and then stagnate. I’d like to use something that’s got some staying power… But anyway, ProtoChart looks like pretty good code, even if the distribution is a bit minimal, and doesn’t come with examples.
If you look at LangPop.com, you’ll notice something that’s very important for my choice: I need a barchart that has horizontal bars, rather than the more traditional vertical bars. This is because it would be quite difficult to squeeze so many languages across the screen horizontally. This ended up being the deciding factor: like Plotr, Flotr supports horizontally oriented bar charts, making it the obvious choice. The other two libraries looked pretty good too – Flot, in particular, looks like quite solid code.
So, there you have it – very brief reviews of an incomplete selection of libraries! In my defense, the goal is to attempt to dominate my maximizing nature, pick one, and get on with doing some cool stuff with LangPop. I do, however, welcome comments and suggestions.