D3 seems to be gaining strength here. Sure, it doesn't work perfectly in all browsers and requires a bit of customization effort to make the charts look really good. But for me, it is a joy to interact with a chart and show different views without fetching server data each time. Data lives in the DOM -- this is a powerful thing.