c# - How to easily draw graphs in WPF? -
i need draw graphs representing finite state machines. tried use graph#. it's cool, lacks things. there no documentation, makes difficult use, cannot draw loops (edges vertex itself) using custom wpf control , labeling edges not implemented. there other library o adviced way of drawing graphs in wpf?
functionality need:
- edge labeling
- loop (cyclic) edges
- vertex labeling
- drawing single/double circles around vertices - vertices should represented either circle (or double circle) label inside
any ideas?
edit: got propositions, grateful. however, think have not made thought clear. need kind of graph: http://static.max99x.com/school/automata-editor1.png. tools suggested far not suitable or maybe don't know how apply them in situation.
option 1: microsoft automatic graph layout
free
http://research.microsoft.com/en-us/projects/msagl/
github
https://github.com/microsoft/automatic-graph-layout.git
winforms >> wpf
it's winforms, can imported wpf few lines of code.
visualizing nodes , edges microsoft automatic graph layout
examples
http://research.microsoft.com/en-us/projects/msagl/#layouts
faq
http://research.microsoft.com/en-us/projects/msagl/faq.aspx
option 2: quickgraph - 100% c# graph library graphviz support
free
http://quickgraph.codeplex.com/
this library 100% c#. don't misled line "graphviz support", means uses c# code import output graphviz. no c++ code in sight.
http://www.codeproject.com/articles/5603/quickgraph-a-c-graph-library-with-graphviz-sup
has nuget package.
under development 2003 2011 (8 years!!).
option 3: graphsharp
free
http://graphsharp.codeplex.com/
- depends on quickgraph (which 100% c#).
- supports async/await (nice!).
demo
https://sachabarbs.wordpress.com/2010/08/31/pretty-cool-graphs-in-wpf/
notes
this 1 worked well, , running in couple of hours. supports datatemplates, each node can have , feel want.
option 4: graphviz4net
free
http://graphviz4net.codeplex.com/
option 5: godiagram
$$$
http://www.nwoods.com/products/godiagram/index.html
option 6: graph tree drawing control wpf
free
http://www.codeproject.com/articles/29518/a-graph-tree-drawing-control-for-wpf
no suitable. it's tree layout.
option 7: using wpf visualize graph circular dependencies
free
http://www.codeproject.com/articles/43776/using-wpf-to-visualize-a-graph-with-circular-depen
option 8: graphviz
free
http://www.graphviz.org/download..php
this not c#, , uses non-managed code. there c# wrappers it, however.
opensourced at&t, see "at&t researchers — inventing science behind service", , "research home > portfolio > software tools": http://www.research.att.com/software_tools?fbid=nek8_gxllec
source
http://www.graphviz.org/download_source.php
they open sourced rserve!
option 9: shields.graphviz
free
wrapper graphviz.
https://github.com/timothy-shields/graphviz
option 10: networkview: wpf custom control visualizing , editing networks, graphs , flow-charts
free
http://www.codeproject.com/articles/182683/networkview-a-wpf-custom-control-for-visualizing-a
this library allows user create connections between nodes, bit of overkill.
example
it's mvvm.
option 11: gephi - open graph viz platform
free
not wpf graphing library, provides great examples of how nice graphs can look. tutorial excellent.
option 12: telerik
$$$
http://www.telerik.com/products/wpf/diagrams.aspx
option 13: infragistics
$$$
http://www.infragistics.com/samples/wpf/network-node/overview http://www.infragistics.com/samples/wpf/network-node/relationship-between-nodes http://www.infragistics.com/samples/wpf/network-node/custom-node-style
option 14: wpf diagram designer
free
not graphing tool, show how move, resize , rotate objects of type on canvas.
http://www.codeproject.com/articles/22952/wpf-diagram-designer-part-1
option 15: mvvm diagram designer
free
and, reimplemented in mvvm: not graphing tool, show how move, resize , rotate objects of type on canvas.
http://www.codeproject.com/articles/484616/mvvm-diagram-designer
option 16: yworks - diagramming company
$$$
https://www.yworks.com/en/products_yfiles_practicalinfo_gallery.html https://www.yworks.com/en/products_yfileswpf_about.html
option 17: mindfusion
$$$
http://www.mindfusion.eu/features-wpfdiagram.html http://www.mindfusion.eu/
option 18: dot2wpf
free
a wpf control viewing dot graphs.
http://www.codeproject.com/articles/18870/dot-wpf-a-wpf-control-for-viewing-dot-graphs
option 19: syncfusion
$$$
https://www.syncfusion.com/products/wpf/diagram
option 20: addflow
$$$
https://www.componentsource.com/product/addflow-wpf-standard
option 21: lassalle
$$$
option 22: dynamic data display
http://dynamicdatadisplay.codeplex.com/
option 23: nevron
$$$
only winforms, can imported wpf. however, each individual item cannot templated, big advantage of wpf solutions.
google search terms
- "workflow wpf graphing"
- "wpf graphing library"
- "wpf state machine library"
Comments
Post a Comment