D
D
Dmitry Petrov2019-11-14 08:49:14
.NET
Dmitry Petrov, 2019-11-14 08:49:14

Is there a library or component to render a link diagram or a graph in C#?

There was a need to visualize the scheme of data flows between systems.
The easiest way is to draw by hand in something like Visio, but this is inconvenient because the diagram may change frequently, plus the description of individual nodes may change, plus the ability to "expand nodes" on click for detailed information is needed, that is, a simple image is not good.
It all boils down to having a list of nodes and a list of links between nodes (with a direction for each link - back, forth, or back and forth). It is necessary to place nodes and links on the diagram, and as follows:
1) the primary placement of a node or link occurs according to the best fit principle (place at the discretion of the program in the simplest way. Perhaps bypassing nodes, crossing other links, etc.).
2) the user can move the node or change the link configuration (to bypass the nodes, turns, etc.), after which the node/link "remembers" this configuration.
3) when drawing a diagram, nodes and links for which there is a saved configuration are drawn taking it into account, in other cases best fit is applied.
4) by clicking on a node or link, you can catch the event and display some additional controls with a detailed description.
That is, it is necessary that:
1) the program be able to accept specific coordinates for nodes and a configuration for links
2) be able to place nodes and links somehow by itself, optimally relative to other elements
3) catch and process events of interaction with elements.
And all through C#. It can be WPf, it can be winforms.

Answer the question

In order to leave comments, you need to log in

2 answer(s)
V
Vladimir Korotenko, 2019-11-14
@firedragon

https://github.com/microsoft/automatic-graph-layout

S
sergey, 2019-11-15
kuzmin @sergueik

https://www.graphviz.org/ this is a classic
https://habr.com/ru/post/337078/
linuxshare.ru/docs/misc/graphviz.html
though I don’t think that it was rewritten in .net - on most of the rest i-kov something available
https://github.com/search?q=graphviz
Languages
​​420 Python
228 JavaScript
144 Ruby
142 Java
100 C++
94 Perl
89 Shell
77 Go
69 C
63 PHP

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question