9
Sto scrivendo un programma per tracciare un grafico da una matrice di distanza. Funziona bene. Ora voglio che un determinato nodo e un certo bordo siano di un colore particolare a mia scelta. Come lo faccio?Colorare un nodo particolare in Networkx e Graphviz
Il programma è in Python e usa NetworkX e 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')
Come si può vedere nel mio codice, io sono l'aggiunta di nodi e spigoli dalla matrice di distanza. Il metodo che hai menzionato non può essere applicato in questo caso. Conosci qualche altro metodo? – Anirudh
È possibile aggiungere gli attributi dopo aver creato il grafico G. Utilizzare G.node [nomenodo] ['colore'] = 'rosso', ecc. – Aric
Oh, ha funzionato! Grazie Aric. Puoi aggiungere questo alla risposta in modo che possa aiutare anche gli altri. – Anirudh