Pygraphviz, изменить высоту точки - PullRequest
0 голосов
/ 05 августа 2020

Я рисую графику с помощью pygraphviz и получаю следующий график: График

Как сделать зеленую вершину на самом низком уровне? Чтобы держать ниже топов 20 21 30 31.

Код:

import networkx as nx

square = nx.Graph()
square.add_nodes_from([1,2,3], layer = 0)
square.add_edge(1,2)
square.add_edge(1,3)


g = nx.nx_agraph.to_agraph(square)

g.add_subgraph(name='cluster_1')
c1 = g.subgraphs()[-1]
c1.add_node('20', layer = 1)
c1.add_node('21', layer = 1)
c1.add_edge(2,'20')
c1.add_edge(2,'21')

g.add_subgraph(name='cluster_2', rank='same')
c2 = g.subgraphs()[-1]
c2.add_node('30', layer = 2)
c2.add_node('31', layer = 2)


c2.add_edge(3,'30')
c2.add_edge(3,'31')

g.add_node(0, color = "green", layer = 2, newrank = True)
g.add_edge(0,'30',rank = 'same')
g.add_edge(0,'31',rank = 'same')
g.add_edge(0,'20',rank = 'same')
g.add_edge(0,'21',rank = 'same')


g.layout('dot')
g.draw('test.png')
...