Why can't nodes have height/width in circo?

When I use circo, and nodes are given a height and width, the nodes are placed right next to each other, and nodesep or ranksep have no effect.

Taking out height and width, the graph looks normal. Being a newbie, I’m not allowed to upload that image.

Source:

digraph IdeaTree {
graph [ ranksep="40.0" overlap="false" splines="line"]
node [ nodesep="40.0" height="2.5" width="2.5" shape="rectangle" style="filled,rounded" fillcolor="#f0e68cff"]
edge [ ]
"36435" [ label="B"]
"36436" [ label="C"]
"36434" [ label="D"]
"36437" [ label="A"]
"36435" -> "36436"
"36436" -> "36434"
"36434" -> "36435"
"36437" -> "36435"
"36437" -> "36434"
}

Dot is the only program that uses the concept or “rank”, so ranksep does not apply to circo. It does not hurt anything, it is just silently ignored.
nodesep does not seem to apply to your specific graph, because for circo:

nodesep affects the spacing between loops on a single node, or multiedges between a pair of nodes

To fix your problem, add the mindist attribute (graph-level) (mindist | Graphviz).
This will increase the distance between nodes.
This:

digraph IdeaTree {
graph [ splines="line"  mindist=4]
node [ height="2.5" width="2.5" shape="rectangle" style="filled,rounded" fillcolor="#f0e68cff"]
//edge [ ]
"36435" [ label="B"]
"36436" [ label="C"]
"36434" [ label="D"]
"36437" [ label="A"]
"36435" -> "36436"
"36436" -> "36434"
"36434" -> "36435"
"36437" -> "36435"
"36437" -> "36434"
}

Gives:

1 Like