9
Piszę program do wykreślania wykresu z matrycy odległości. Działa dobrze. Teraz chcę, aby pewien węzeł i pewna krawędź były określonego koloru z mojego wyboru. Jak mogę to zrobić?Kolor określonego węzła w Networkx i Graphviz
Program jest w Pythonie i korzysta NetworkX i Graphviz
import networkx as nx
import numpy as np
import pickle
from random import randint
p_file = open('pickles/distance')
Dist = pickle.load(p_file)
p_file.close()
p_file = open('pickles/names')
Names = pickle.load(p_file)
p_file.close()
dt = [('len', float)]
A = np.array(Dist)*5
A = A.view(dt)
G = nx.from_numpy_matrix(A)
G = nx.relabel_nodes(G, dict(zip(range(len(G.nodes())),Names)))
G = nx.to_agraph(G)
G.node_attr.update(ndcolor="red", node="DC", style="filled")
G.edge_attr.update(color="none")
G.draw('P1.png', format='png', prog='neato')
Jak widać w moim kodu, dodaję węzły i krawędzie z matrycy na odległość. Wspomniana metoda nie może być zastosowana w tym przypadku. Czy znasz inną metodę? – Anirudh
Możesz dodać atrybuty po utworzeniu wykresu G. Użyj G.node [nazwa_węzła] ['color'] = 'czerwony', itd. – Aric
Oh działało! Dziękuję Aric. Czy możesz dodać to do odpowiedzi, aby pomóc innym. – Anirudh