I'm currently implementing charts using Flot with AngularJS data-binding and directives.
I had to find a workaround to the fact that Flot requires fixed width. xCharts does not suffers this limitation but I will have to evaluate d3.js first.
D3.js as an Angular directive is a thing of beauty, once you get your D3.js graphics updating live from your Angular data you can do some very nice dynamic graphics with very little code, whether it be graphs or otherwise.
Why would having a fix width be a problem? In my mind the alternative is the canvas automatically expanding to the right and thereby requiring horizontal scrolling through the browser. Flot.js supports panning if you need to stretch out your xaxis which seems cleaner to me than horizontal scrolling in the browser.
I had to find a workaround to the fact that Flot requires fixed width. xCharts does not suffers this limitation but I will have to evaluate d3.js first.