Angular + d3 is beautiful. d3 is great but often far too low level and imperative (despite trying quite hard to be declarative). Wrapping d3 manipulations inside of Angular directives gives them a great deal of simplicity.
I find myself creating all kinds of different classes of graphs, parameterizing them on HTML attributes, and dropping them into Angular scopes. With a little bit of careful throttling and $applying you can even get highly interactive d3 graphs.