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.