You should really take a look at Ajax.org, they show some of the smoothest interactive 3D javascript plots i have ever seen. I have just submitted it in the new section.
I've explore a bunch of JS libraries in the past - here are some thoughts:
Flot and Flotr are definitely past favorites, and its usage has felt the most natural
PlotKit (http://www.liquidx.net/plotkit/) - MochiKit-based, visually nice but not as well documented or, apparently, nearly as extensive as some of the other options
RGraph - an HTML5 canvas library, but pretty basic and definitely easy the least visually appealing
Highcharts definitely looks like it has the nicest animations of any of the previous ones, and also definitely has the best documentation / demo gallery. Thumbs up - definitely coming this way the next time I need a nice graphing library!
plotkit is kinda nice, but you can't plot multiple lines on the same graph well. You can, but by default, it distinguishes between different lines by coloring the area underneath it. And when you do, it's all opaque. If you try to color the lines themselves, it turns ugly.
Maybe this is asking too much, but I'm seeing a ton of different recommendations in the comments - anyone have experience with many (or at least more than one) of these options and wouldn't mind going into some of the differences that stood out to them?
I've Googled in the past but haven't found too many great reviews comparing some of these choices side-by-side - most seem to regurgitate the feature sets as opposed to going into the level of detail that would be most helpful for a developer.
Has anyone used the paid versions of Highcharts or any others mentioned in this thread? What do you think of the Highcharts price points - $80 for single commercial site, $360 for multiple sites?
I'm working on a graphing app too and trying to decide my pricing.
It's very cheap but then you get what you pay for.
The best and fully featured graphing capabilities are from Dundas imo (www.dundas.com). They charge about $3000 / developer licence and then $3000 / server that you run it on.
If you priced it somewhere between the two and it had a good feature set I might bite. It would have to support printing though (and generating a PDF would be a big plus)
At first glance, it looks sleek, polished, and feature-rich. Not sure yet if we'll need charts for the project I'm currently working on, but if we do, we'll definitely consider it - $80 sounds reasonable.
Yes, we use Flot to visualize some pretty beefy data with many data points. Flot has some very nice features and is a reasonably active project.
The big problem I see with a project like Highcharts (and other Flot alternatives I've tried) is that features like animation and pretty aesthetics are center stage while performance is typically hugely lacking. We've driven Flot to its limit, and by far I can say that the winner of JS charting APIs is going to be the library that can perform well not just on Chrome but on Internet Explorer too.
We've charted things here that take under 1 second to render in Firefox/Chrome/Safari while taking 10-15 minutes with the CPU pegged (yes, you read that correctly) in IE.
We've gotten around it with a bit of work, but it's still a glaring problem for the APIs, and a glaring problem for projects that use HTML5 canvas, can't use excanvas.js with the Silverlight patch, but do need to serve up JS-powered charts to clients still on IE6/IE7.
Yeah, I use it for plotting follower data for CustomerFind. The chart on the homepage (http://www.customerfind.com) is a screenshot of part of a user's controlpanel, and was rendered using flot. It was very easy to get flot set up, it plays nicely with the rest of my js, including jQuery. Flot is fast.
I haven't quite kept up with javascript charting recently. I was aiming to build a google finance/yahoo finance competitor. The thing that always surprised me about google finance/yahoo finance charts was that they didn't take advantage of data already in the browser. When their flash charts would try to plot a moving average, they would make another request back to the server for more data, Why? The browser already has enough data to derive the moving average.
There are tons of good non flash ones. Someone mentioned Protovis, which is neat, but last I check it wasn't supported in IE. There is also Flot (jquery) and Flotr (prototype), and a handful of others.
I use a modified version of Flotr, and it works great.
I'll have to look more into this library. I'm glad to see it uses SVG and VML (edit: oops - plus Canvas). That seems like the right fit for this problem, since SVG and VML have pretty close models and that way you can have native vector graphics in all browsers.
Edit 2: I have a question. Are the charts on the Demo page drawing so slowly because of someone's clever idea of an animation? Or does the library actually draw that slowly?
I've been using Google's Visualization API's for my latest work and I've been really happy with it. The API is in JS but I believe there are hooks for Python and other languages too.
The problem with all these graphing libraries is that it's non-trivial to post the graphs elsewhere. If you have a data driven website then your users are going to want to share your graphs on facebook, twitter, forums. If you don't make it easy you're giving away a huge amount of free traffic.
Surprised no one has mentioned Emprise yet. http://ejschart.com/ Their website is not the nicest but their charts are very good, also pure Javascript, and their pricing is reasonable. We've used the library with success in a couple of projects.
You can make sure an image appears in place of the chart with a css-file for printing-purposes only. (Or do it the other way around. By default show an image and use JS to replace that image with a chart when possible.)
Nice, but pretty slow to render for me (on FF3.5). Actually it's more that it pauses at about one quarter rendered and looks broken for a second before it finally renders.
[+] [-] leonh|16 years ago|reply
http://www.ajax.org/public/presentation/tae/presentation2.ht...
[+] [-] grayrest|16 years ago|reply
http://vis.stanford.edu/protovis/ex/
If graphael gets into shape it might be decent as well.
[+] [-] gruseom|16 years ago|reply
[+] [-] cyen|16 years ago|reply
Flot and Flotr are definitely past favorites, and its usage has felt the most natural
PlotKit (http://www.liquidx.net/plotkit/) - MochiKit-based, visually nice but not as well documented or, apparently, nearly as extensive as some of the other options
RGraph - an HTML5 canvas library, but pretty basic and definitely easy the least visually appealing
Highcharts definitely looks like it has the nicest animations of any of the previous ones, and also definitely has the best documentation / demo gallery. Thumbs up - definitely coming this way the next time I need a nice graphing library!
[+] [-] iamwil|16 years ago|reply
[+] [-] albertni|16 years ago|reply
I've Googled in the past but haven't found too many great reviews comparing some of these choices side-by-side - most seem to regurgitate the feature sets as opposed to going into the level of detail that would be most helpful for a developer.
[+] [-] revorad|16 years ago|reply
I'm working on a graphing app too and trying to decide my pricing.
[+] [-] smiler|16 years ago|reply
The best and fully featured graphing capabilities are from Dundas imo (www.dundas.com). They charge about $3000 / developer licence and then $3000 / server that you run it on.
If you priced it somewhere between the two and it had a good feature set I might bite. It would have to support printing though (and generating a PDF would be a big plus)
[+] [-] alex_c|16 years ago|reply
[+] [-] kylemathews|16 years ago|reply
[+] [-] Maciek416|16 years ago|reply
The big problem I see with a project like Highcharts (and other Flot alternatives I've tried) is that features like animation and pretty aesthetics are center stage while performance is typically hugely lacking. We've driven Flot to its limit, and by far I can say that the winner of JS charting APIs is going to be the library that can perform well not just on Chrome but on Internet Explorer too.
We've charted things here that take under 1 second to render in Firefox/Chrome/Safari while taking 10-15 minutes with the CPU pegged (yes, you read that correctly) in IE.
We've gotten around it with a bit of work, but it's still a glaring problem for the APIs, and a glaring problem for projects that use HTML5 canvas, can't use excanvas.js with the Silverlight patch, but do need to serve up JS-powered charts to clients still on IE6/IE7.
[+] [-] forsaken|16 years ago|reply
You can see an example here, which took about an hour to build:
http://kong.ericholscher.com/tests/test-frontpage/personal-s...
[+] [-] jashkenas|16 years ago|reply
http://wiki.github.com/documentcloud/cloud-crowd/getting-sta...
[+] [-] iamwil|16 years ago|reply
[+] [-] unknown|16 years ago|reply
[deleted]
[+] [-] zackattack|16 years ago|reply
P.S. CustomerFind v2 is no longer focusing on AutoFollow, though the copy on the homepage reflects otherwise [http://customerfind.posterous.com/do-you-sell-a-product-or-s...]
[+] [-] freetard|16 years ago|reply
[+] [-] nym|16 years ago|reply
[+] [-] paddy_m|16 years ago|reply
I haven't quite kept up with javascript charting recently. I was aiming to build a google finance/yahoo finance competitor. The thing that always surprised me about google finance/yahoo finance charts was that they didn't take advantage of data already in the browser. When their flash charts would try to plot a moving average, they would make another request back to the server for more data, Why? The browser already has enough data to derive the moving average.
[+] [-] harry|16 years ago|reply
[+] [-] netghost|16 years ago|reply
I use a modified version of Flotr, and it works great.
[+] [-] piranha|16 years ago|reply
[+] [-] chasingsparks|16 years ago|reply
[+] [-] gruseom|16 years ago|reply
Edit 2: I have a question. Are the charts on the Demo page drawing so slowly because of someone's clever idea of an animation? Or does the library actually draw that slowly?
[+] [-] rmanocha|16 years ago|reply
http://code.google.com/apis/visualization/
[+] [-] ig1|16 years ago|reply
[+] [-] adriand|16 years ago|reply
[+] [-] shykes|16 years ago|reply
[+] [-] euroclydon|16 years ago|reply
[+] [-] sjs382|16 years ago|reply
[+] [-] xtho|16 years ago|reply
[+] [-] bravura|16 years ago|reply
I would prefer bland but matched colors.
[+] [-] smiler|16 years ago|reply
[+] [-] Huppie|16 years ago|reply
[+] [-] artpop|16 years ago|reply
[+] [-] akronim|16 years ago|reply
[+] [-] watmough|16 years ago|reply
[+] [-] tom_b|16 years ago|reply
[+] [-] nym|16 years ago|reply
http://omnipotent.net/jquery.sparkline/
[+] [-] rjurney|16 years ago|reply
[+] [-] sjs382|16 years ago|reply