Google provides an API to create charts. But it's hosted by Google. What alternative options are available to display charts on a web based application?
Highcharts is my fav and default charting library.<p><a href="http://www.highcharts.com" rel="nofollow">http://www.highcharts.com</a><p>Highcharts is not open source but is free to use for non-commercial use.
I have paid the $80 to use it on commercial websites and client/managers are always very impressed with its capabilities. I think its well-worth the $$<p><a href="http://www.highcharts.com/license" rel="nofollow">http://www.highcharts.com/license</a>
There's flot: <a href="http://code.google.com/p/flot/" rel="nofollow">http://code.google.com/p/flot/</a>
Raphael.js (along with gRaphael): <a href="http://raphaeljs.com/" rel="nofollow">http://raphaeljs.com/</a>
jqPlot: <a href="http://www.jqplot.com/" rel="nofollow">http://www.jqplot.com/</a><p>I'd recommend flot out of these three, had the best experience with that one so far.
Check out Flot for jQuery: <a href="http://code.google.com/p/flot/" rel="nofollow">http://code.google.com/p/flot/</a><p>Some excellent examples here (scroll down):<p><a href="http://code.google.com/p/flot/wiki/FlotUsage" rel="nofollow">http://code.google.com/p/flot/wiki/FlotUsage</a>
For time-series, I like dygraphs: <a href="http://dygraphs.com/" rel="nofollow">http://dygraphs.com/</a><p>For server-side chart generation, I tend to use matplotlib (semi-recently changed from gnuplot).
One option, depending on the type of chart your looking for, might be the Javascript InfoVis Toolkit: <a href="http://thejit.org/" rel="nofollow">http://thejit.org/</a>