Spacing between outer nodes

I am using the Concept Map, but I’m not sure what values or properties are best for getting the nodes towards the ends of any grouping to generate more spread out, rather than stacked on top of each other.

Any suggestions?

Are you using GoDiagram or GoJS? GoDiagram doesn’t have a concept map sample.

My fault; I posted this question before reading the difference between GoDiagram and GoJS.

I am in fact using GoJS, and was in the middle of posting the question in that section.

Should I proceed with posting the question in the GoJS section?

I have changed this topic’s category for you.

Could you please show us what you mean and also show us what you want instead?

Here is what it looks like now:


I would like the outer nodes to get spaced out more, rather than stack on top of each other like this.

These are the values I’ve been mainly experimenting with that seem to have the greatest effect:
defaultSpringStiffness: 0.025,
defaultElectricalCharge: .25,
defaultSpringLength: 1000,
infinityDistance: 2000

Aside from trying to make it act similarly to an Interactive Force graph, I haven’t thought of much else yet.

Increasing the electrical charge will help avoid having nodes overlapping each other. I think 1000 is too long for the spring length.

I raised the charge to 2500 to see what happens and things spread out much better. Now is there a way to get the nodes to fan out in any direction rather than only to the right?

I’m not sure why it picked the node that it did for the center piece either, since there is a node “above” it.

I’m guessing this is only a coincidence though.

EDIT: Actually, now many (about half of all outer nodes) are completely hidden behind other nodes; this made me think they were spread out more, unfortunately.

Do you have any sample data you can provide? It’s hard to guess what might be happening with the layout without knowing inputs.

I’m using a neo4j database to represent a specific year and model of a car and many of its systems and associated parts. This model of car is manufactured by one car company.

So the graph looks something like:

CarCompany -> Year -> Car -> Systems/Sections (many) -> Parts (usually 2 to 5 nodes)

If the graph is somewhat tree-like, you could try using TreeLayout. That layout is tolerant of non-tree-structured links, but you might get better results if you explicitly set or bind Link.isTreeLink to false on “unimportant” links, so that the TreeLayout will ignore those links.

I don’t necessarily want to ignore any of the links, though I will give that a try. Part of the issue is that I’ve already made a separate graph using a TreeLayout, while now I’m trying to see what else could work. The desired result is children nodes fanning out around the parent in a circular fashion. The images posted are what happens when you use a ForceDirectedLayout with a TreeModel, rather than a GraphLinkModel.

So you are interested in a radial layout? Alas, we do not yet have a good RadialLayout, but you can use the simplistic one shown by

Unfortunately, I’m not able to get it to compile when using the RadialLayout. The layout isn’t found for some reason.

Did you load the RadialLayout.js file that you copied from the extensions folder, or the compiled RadialLayout.ts file that you copied from the extensionsTS folder?

Everything from GoJS is imported, and both files exist in the project directory.

Scratch that; had to explicitly import it because of layered directories.

I got back around to using the RadialLayout, and the only question I have about it is if there is a way to make the nodes fan out farther apart (instead of overlapping a ton). It takes moving each one manually to stand it out better.

Screenshot for visuals: