Uso de Graphify y NetworkX para mapear la estructura base del código Python con nodos, comunidades y visualizaciones de arquitectura de Dios
plt.figure(figsize=(13, 9)) pos = nx.spring_layout(UG, k=0.7, seed=42) nx.draw_networkx_edges(UG, pos, alpha=0.25) nx.draw_networkx_nodes( UG, pos, node_color=[node_comm.get(n, 0) for n in UG.nodes]tamaño_nodo=[300 + 4000 * deg.get(n, 0) for n in UG.nodes]cmap=plt.cm.tab20, alpha=0.9, ) top = {n para n, _ en ordenados(deg.items(), key=lambda x: -x[1])[:14]} nx.draw_networkx_labels(UG, pos, {n: etiqueta(n) para n en la parte superior}, font_size=8) plt.title(“Graficar gráfico de conocimiento – tamaño=centralidad, color=comunidad”) plt.axis(“off”); plt.tight_layout() plt.savefig(“graph_static.png”, ppp=130); plt.show() intente: desde pyvis.network import Network net = Network(height=”650px”, width=”100%”, bgcolor=”#111″, font_color=”white”, notebook=True, cdn_resources=”in_line”, dirigido=G.is_directed()) paleta = [“#e6194B”,”#3cb44b”,”#4363d8″,”#f58231″,”#911eb4″,
“#42d4f4″,”#f032e6″,”#bfef45″,”#fabed4″,”#469990″]
para n, d en G.nodes(data=True): c = node_comm.get(n, 0) net.add_node(n, label=label(n), title=f”{d.get(‘file_type’,’?’)} · {d.get(‘source_file’,”)}”, color=palette[c % len(palette)]size=12 + 60 * deg.get(n, 0)) para s, t, d en G.edges(data=True): net.add_edge(s, t, title=d.get(“relation”, “”)) net.save_graph(“graph_interactive.html”) print(“\nGráfico interactivo guardado -> graph_interactive.html”) de IPython.display importar HTML, mostrar display(HTML(open(“graph_interactive.html”).read())) excepto Excepción como e: print(“Viz interactiva omitida:”, e) para cmd en (
[“query”, “what connects auth to the database?”, “–graph”, GRAPH_JSON],
[“path”, “AuthService”, “DatabasePool”, “–graph”, GRAPH_JSON],
[“explain”, “RateLimiter”, “–graph”, GRAPH_JSON]): print(“\n$ grafificar ” + ” “.join(cmd)) r = subproceso.run([sys.executable, “-m”, “graphify”, *cmd]capture_output=Verdadero, texto=Verdadero) print((r.stdout o r.stderr)[:1200]) print(“\nListo. Artefactos: Graph_static.png, Graph_interactive.html,”, “y Graphify-out/ (graph.json, GRAPH_REPORT.md).”)