the current phrasing of your question is not suitable here on this site. read the how to ask in the help center. you will get more down votes and people are not going to answer. and by the way I'm the one who upvoted because I think it is unfair to down vote without saying why.
– Nasreddine GalfoutMar 13 at 17:53

There are numerous algorithms out there. Which one would suite you best largely depends on the overall structure of your graphs. Like for instance could the graph item be arranged in a way that no connections intersect each other or not. You could probably start on Wiki page (en.wikipedia.org/wiki/Graph_drawing) explaining Graph drawing and check which mentioned algorithm might suite you best. Then start searching for suitable examples for that algorithm and if you still have trouble with implementation of that algorithm come back here.
– SilverWariorMar 13 at 17:54

Stack Overflow is not for asking for recommendations. Besides since there are so many ways of drawing or arranging graphs it is impossible for us to give you definitive answer.
– SilverWariorMar 13 at 17:55

I was aware of the fuzzy nature of the question, and I am sorry for that. Describing the whole problem in detail would run the risk of being too long; that's why I gave a URL for the picture as an example of what I'd be dealing with.
– AdemMar 14 at 20:39

The TSimpleGraph component has an editor that lets you create a diagram manually. But, when I have to do that in my own code, it gets far too laborious and error prone. Basically, the problem boils down to this: You have a number of rectangles of arbitrary sizes. You also know which one connected to which other one(s). How do you lay them out? IOW, calculate the positions for each of those rectangles so that the connected ones are as close one another as optimally possible (but, obviously, no overlapping).
– AdemMar 14 at 20:39