Python | Visualice gráficos generados en NetworkX usando Matplotlib

Requisitos previos: Generación de gráficos usando Network X , Matplotlib Intro
En este artículo, discutiremos cómo trazar un gráfico generado por NetworkX en Python usando Matplotlib. NetworkX no es un paquete de visualización de gráficos, pero el dibujo básico con Matplotlib está incluido en el paquete de software.

Paso 1: importe networkx y matplotlib.pyplot en el archivo del proyecto. 

Python3

# importing networkx
import networkx as nx
 
# importing matplotlib.pyplot
import matplotlib.pyplot as plt

Paso 2: Genere un gráfico usando networkx. 
Paso 3: ahora use la función dibujar() de networkx.drawing para dibujar el gráfico. 
Paso 4: use la función savefig («filename.png») de matplotlib.pyplot para guardar el dibujo del gráfico en el archivo filename.png.

A continuación se muestra el código de Python:  

Python3

# importing networkx
import networkx as nx
# importing matplotlib.pyplot
import matplotlib.pyplot as plt
 
g = nx.Graph()
 
g.add_edge(1, 2)
g.add_edge(2, 3)
g.add_edge(3, 4)
g.add_edge(1, 4)
g.add_edge(1, 5)
 
nx.draw(g)
plt.savefig("filename.png")

Producción: 

Para agregar numeración en el Node, agregue un argumento with_labels=True en la función dibujar().  

Python3

# importing networkx
import networkx as nx
# importing matplotlib.pyplot
import matplotlib.pyplot as plt
 
g = nx.Graph()
 
g.add_edge(1, 2)
g.add_edge(2, 3)
g.add_edge(3, 4)
g.add_edge(1, 4)
g.add_edge(1, 5)
 
nx.draw(g, with_labels = True)
plt.savefig("filename.png")

Producción: 

Se pueden realizar diferentes tipos de gráficos y trazados utilizando networkx drawing y matplotlib. 

Nota**: Aquí , las palabras clave se refieren a palabras clave opcionales que podemos mencionar para formatear el trazado del gráfico. Algunos de los diseños gráficos generales son:  

  1. draw_circular(G, keywords) : Esto da un diseño circular del gráfico G.
  2. draw_planar(G, palabras clave) :] Esto proporciona un diseño plano de un gráfico de red plano G.
  3. draw_random(G, keywords) : Esto da un diseño aleatorio del gráfico G.
  4. draw_spectral(G, keywords) : Esto da un diseño 2D espectral del gráfico G.
  5. draw_spring(G, keywords) : Esto da un diseño de primavera del gráfico G.
  6. draw_shell(G, keywords) : Esto da un diseño de shell del gráfico G. 
     

Ejemplo :  

Python3

# importing networkx
import networkx as nx
# importing matplotlib.pyplot
import matplotlib.pyplot as plt
 
g = nx.Graph()
 
g.add_edge(1, 2)
g.add_edge(2, 3)
g.add_edge(3, 4)
g.add_edge(1, 4)
g.add_edge(1, 5)
g.add_edge(5, 6)
g.add_edge(5, 7)
g.add_edge(4, 8)
g.add_edge(3, 8)
 
# drawing in circular layout
nx.draw_circular(g, with_labels = True)
plt.savefig("filename1.png")
 
# clearing the current plot
plt.clf()
 
# drawing in planar layout
nx.draw_planar(g, with_labels = True)
plt.savefig("filename2.png")
 
# clearing the current plot
plt.clf()
 
# drawing in random layout
nx.draw_random(g, with_labels = True)
plt.savefig("filename3.png")
 
# clearing the current plot
plt.clf()
 
# drawing in spectral layout
nx.draw_spectral(g, with_labels = True)
plt.savefig("filename4.png")
 
# clearing the current plot
plt.clf()
 
# drawing in spring layout
nx.draw_spring(g, with_labels = True)
plt.savefig("filename5.png")
 
# clearing the current plot
plt.clf()
 
# drawing in shell layout
nx.draw_shell(g, with_labels = True)
plt.savefig("filename6.png")
 
# clearing the current plot
plt.clf()

Salidas: 
diseño circular 

Diseño plano 

Diseño aleatorio 

Diseño espectral 

Diseño de primavera 

Disposición de la carcasa 

Referencia : Documentación de dibujo de NetworkX
 

Publicación traducida automáticamente

Artículo escrito por AyushShukla8 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *