tutorial example python matplotlib ipython ipython-notebook networkx

python - example - Dibujar gráfico en NetworkX



networkx tutorial plot (3)

Añadir al final:

plt.show()

import networkx as nx import matplotlib.pyplot as plt g1 = nx.petersen_graph() nx.draw(g1) plt.show()

Cuando se ejecuta desde un shell interactivo donde se ha llamado a plt.show() no es necesario el plt.show() . Probablemente esta sea la razón por la que se omite en muchos ejemplos.

Si ejecuta estos comandos desde un script (donde no se ha llamado a plt.show() se necesita el plt.show() . plt.ion() está bien para sesiones interactivas, pero no se recomienda para scripts .

Estoy intentando dibujar cualquier gráfico en NetworkX, pero no obtengo nada, ni siquiera errores:

import networkx as nx import matplotlib.pyplot as plt g1=nx.petersen_graph() nx.draw(g1)


En el cuaderno de ipython, solo escribe magia.

%matplotlib inline

o

%matplotlib notebook


Puedes trazar fácilmente con los gráficos de networkx usando el cuaderno jupyter. Ver primer ejemplo.

O, puedes usar Bokeh para trazar gráficos, lo que agrega características útiles. El paquete holoviews hace que sea aún más sencillo trazar gráficos con bokeh. Agrega características como el resaltado automático y la visualización de etiquetas mientras se desplaza sobre los nodos. Sin embargo, la edición de colores, etc. parece ser un problema.

%pylab inline # `pylab notebook` # for interactive plots import pandas as pd import networkx as nx import holoviews as hv G=nx.Graph() ndxs = [1,2,3,4] G.add_nodes_from(ndxs) G.add_weighted_edges_from( [(1,2,0), (1,3,1) , (1,4,-1) , (2,4,1) , (2,3,-1), (3,4,10) ] ) nx.draw(G, nx.spring_layout(G, random_state=100))

Y aquí el ejemplo con bokeh y holoview:

hv.extension(''bokeh'') %opts Graph [width=400 height=400] padding = dict(x=(-1.1, 1.1), y=(-1.1, 1.1)) hv.Graph.from_networkx(G, nx.layout.spring_layout).redim.range(**padding)

Deberías intentarlo y trazarlo en tu cuaderno para ver la diferencia.