Я рисую графику с помощью 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')