Lollipop Graph en Python usando el módulo Networkx

El gráfico de piruleta consta de 2 componentes, un gráfico completo llamado clique y un gráfico de ruta. Más precisamente, L (m, n)  es un gráfico con un gráfico completo de m Nodes y un gráfico de ruta de n Nodes.

L (4,2) Gráfico de piruleta:

Gráfica L (4,2)

Aquí vamos a ver las propiedades de este gráfico:

Así que no

Propiedades del gráfico Lollipop:

1

Es un gráfico conexo con dos componentes clique y path graph.

2

El número de vértices es m + n.

3

El número de aristas = Número de aristas en el gráfico completo + Número de aristas en el gráfico de ruta.

4

El número de aristas=m(m-1)/2 + n.

5

Diámetro del gráfico de piruleta = n+1.

6

Es un gráfico cíclico ya que los ciclos están contenidos en una camarilla del gráfico de piruleta.

7

Es como un gráfico de barra sin una de las barras.

8

Para el gráfico completo, los Nodes están etiquetados de 0 a m-1.

9

Y m a m+n-1 para el gráfico de ruta.

10

El gráfico completo y el gráfico de ruta se unen a través de un borde (m – 1, m).

Usaremos el módulo networkx para realizar un gráfico Lollipop. Viene con una función incorporada networkx.lollipop_graph() y se puede ilustrar usando el método networkx.draw(). Este módulo en Python se usa para visualizar y analizar diferentes tipos de gráficos.

Sintaxis: networkx.lollipop_graph(m,n)

Parámetros:

  • M: Número de Nodes en el gráfico completo (clique)
  • N: Número de Nodes en el gráfico de ruta.

networkx.draw(G, tamaño_Node, color_Node)

  • Se utiliza para realizar el gráfico pasando el objeto del gráfico.
  • G: Se refiere al objeto gráfico de Tutte
  • node_size: Se refiere al tamaño de los Nodes.
  • node_color: Se refiere al color de los Nodes.

Ejemplo 1: crear un gráfico de piruleta simple

Acercarse:

  • Importaremos la red del módulo requerido
  • Luego crearemos un objeto gráfico usando networkx.lollipop_graph(m,n).
  • Para realizar el gráfico, usaremos networkx.draw(G, node_color=’green’)
  • Con tres argumentos, el primero es un objeto gráfico y los otros dos se usan para establecer el color y el tamaño del Node.

Código:

Python3

# import required module
import networkx
 
# create object
G = networkx.lollipop_graph(4, 2)
 
# illustrate graph
networkx.draw(G, node_color='green')

Producción:

Ejemplo 2: Cambiar el tamaño de los Nodes.

Acercarse:

  • Importaremos la red del módulo requerido.
  • Luego crearemos un objeto gráfico usando networkx.lollipop_graph(m,n).
  • Para realizar el gráfico, usaremos networkx.draw(G, node_color=’green’,node_size=1500)
  • Tenga en cuenta que aquí hemos pasado un argumento adicional en la función de dibujo, a saber, node_size.
  • Este argumento adicional determina el tamaño relativo del Node.

Código:

Python3

# import required module
import networkx
 
# create object
G = networkx.lollipop_graph(6, 2)
 
# illustrate graph
networkx.draw(G, node_color='green',
              node_size=1500)

Producción:

Ejemplo 3: Crear un gráfico Lollipop sin usar la función lollipop_graph().

Acercarse:

  • Importaremos el módulo requerido networkx como nx.
  • Luego definiremos manualmente la función lollipop_graph.
  • Primero crearemos el gráfico completo usando la función complete_graph.
  • Entonces tendremos n Nodes numerados de m a m+n-1 que serán de la parte recta de lollipop
  • Luego uniremos los Nodes adyacentes para completar la parte del gráfico de ruta de lollipop.
  • Finalmente uniremos las dos partes disjuntas para obtener el resultado final.
  • Tenga en cuenta que se utilizan dos condiciones if para verificar si es necesario agregar el número de Nodes en cualquiera de las partes o si esa parte debe mantenerse vacía.

Código:

Python3

# importing networkx
import networkx as nx
 
 
def lollipop_graph(m, n):
 
    # the complete graph part.
    G = nx.complete_graph(m)
 
    # adding path graph edges.
    G.add_nodes_from([v for v in range(m, m+n)])
    if n > 1:
 
        # joining adjacent path graph edges.
        G.add_edges_from([(v, v+1) for v in range(m, m + n - 1)])
 
    # connect complete graph to path graph
    if m > 0:
        G.add_edge(m - 1, m)
    return G
 
 
# invoking the function defined.
G = lollipop_graph(5, 2)
nx.draw(G)

Producción:

Publicación traducida automáticamente

Artículo escrito por parthbanathia 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 *