Visual Studio has a powerful Directed Graph document (dgml) creator and viewer. It is highly configurable with styles / legend etc. but if you want to generate graphs from a data model it is quite good but there is a bit of a learning curve. I believe (don't quote me on this) that the free versions of Visual Studio do have support for it.
Disclaimer: I work on features for Visual Studio close to this;