54

I'm looking for a (free) library which allows me to draw a CFG (control flow graph). Something like yFiles, but free or preferably open source? Ideally this library would allow the user to navigate the graph (and modify it), i.e. the graph isn't just a static a priori rendered bitmap. Ideas?

Update:
Glee in combination with the mentioned QuickGraph library seems to work pretty nice. thx

Update2: Graph# seems to be the most powerful library currently. There is also a nice tutorial on how to use it.

Deanna
  • 23,876
  • 7
  • 71
  • 156
newgre
  • 5,245
  • 4
  • 31
  • 41
  • 2
    GLEE is now called [Microsoft Automatic Graph Layout](http://research.microsoft.com/en-us/projects/msagl/) (MSAGL). MSAGL is distributed in a binary form only. A commercial license has to be bought. – Sadeq Dousti Jun 15 '11 at 01:28
  • I'm not sure about the solution, but maybe this could be useful also: https://github.com/komorra/NodeEditorWinforms – komorra Mar 21 '16 at 20:43
  • The best commercial solution, in my point of view, is [yfiles.net](https://www.yworks.com/products/yfiles-net), see [demos](https://www.yworks.com/products/yfiles/demos). This is a good reference on how far this technology can go. – sɐunıɔןɐqɐp Dec 23 '20 at 00:43

4 Answers4

25

You might want to check out QuickGraph.

NodeXL might also be of interest (visualization library). It's WPF, but you can use a container to host it if you need WinForms.

dommer
  • 19,610
  • 14
  • 75
  • 137
11

Try out this (Efficient Sugiyama algorithm is your friend):

Graph#

Sadeq Dousti
  • 3,346
  • 6
  • 35
  • 53
Palesz
  • 2,104
  • 18
  • 20
5

https://graphx.codeplex.com/

Inspired by Graph#, actively developed and much more extensible.

Alexander Smirnov
  • 1,573
  • 12
  • 23
3

I use GraphViz to generate this sort of graph. My app generates the .dot file that can then is then passed into GraphViz. It supports a load of file formats, such as bmp, jpg, png, pdf, svg etc etc.

Sean
  • 60,939
  • 11
  • 97
  • 136