AYUDA DE PYTHON

igraph python (Cómo funciona para desarrolladores)

Introducción

Los gráficos y la investigación de redes complejas son nociones básicas de la informática y las matemáticas utilizadas para modelar enlaces e interacciones complejas. Los nodos, a veces también llamados vértices, y las aristas, a veces referidas como enlaces, de un grafo son, en esencia, meramente representaciones visuales e interpretaciones de una entidad y sus relaciones, que se muestran a través de las aristas que conectan nodos.

Más generalmente, todos los grafos utilizados para sistemas de transporte, redes sociales y redes de comunicación se consideran redes. Al observar gráficos y redes, podemos comprender y superar los problemas relacionados con la conectividad, el flujo y la estructura de la red. Dicho trabajo proporciona información sobre una diversidad de campos, desde la dinámica social y la estructura organizacional hasta los algoritmos para el enrutamiento y optimización eficiente. Estos conceptos son muy centrales en la teoría de redes, la investigación de operaciones y la ciencia de datos.

En este artículo, utilizamos igraph para mostrar cómo puedes generar gráficos de red e imprimirlos en un archivo PDF utilizando la flexible y confiable biblioteca IronPDF.

¿Qué es igraph?

Igraph es un potente paquete de Python para generar, manipular y analizar gráficos y redes complejas. Proporciona un enorme conjunto de herramientas para manejar gráficos, desde su generación hasta su manipulación y visualización. Python igraph facilita la implementación del análisis de redes a través de muchos algoritmos que calculan diversas métricas de centralidad, caminos más cortos, estructura de comunidades y mucho más.

Esta biblioteca proporciona así una buena visualización con diseños adaptativos y propiedades para grafos dirigidos y no dirigidos. Igraph es muy flexible y rápido y a menudo se encuentra en aplicaciones para el análisis de datos relacionales complejos, como en ciencia de datos, biología computacional y estudios de redes sociales.

igraph python (Cómo funciona para desarrolladores): Figura 1 - Página web de Igraph

Configuración y uso del paquete igraph de Python

Para empezar con las operaciones fundamentales de teoría de grafos y configuraciones en Python, utiliza los siguientes pasos para crear, configurar y usar igraph por ti mismo.

Instalación del paquete igraph

Debes instalar primero el paquete igraph. Se puede usar el siguiente comando pip para esto:

pip install igraph
pip install igraph
SHELL

Creando un Gráfico Usando Igraph

Aquí tienes un ejemplo sencillo para mostrarte cómo usar igraph para construir y configurar un grafo:

from igraph import Graph, plot
# Create an empty graph
g = Graph()
# Add vertices (nodes)
g.add_vertices(5)  # Adding 5 vertices
# Add edges (connections between vertices)
g.add_edges([(0, 1), (1, 2), (2, 3), (3, 4), (4, 0), (0, 2)])  # Adding edges
# Add vertex ids and edge attributes
g.vs["name"] = ["A", "B", "C", "D", "E"]  # Vertex labels
g.es["weight"] = [1, 2, 3, 4, 5, 6]  # Edge weights
# Basic graph structural properties 
print("Number of vertices:", g.vcount())
print("Number of edges:", g.ecount())
print("Graph summary:", g.summary())
py
PYTHON

Salida de la consola

igraph python (Cómo funciona para desarrolladores): Figura 2 - Salida de consola del ejemplo de código

Configurar el diseño y visualización de gráficos

Podemos dibujar el gráfico utilizando algunas de las funciones integradas de igraph. Cambie la apariencia y el diseño con lo siguiente:

# Define a layout for the graph
layout = g.layout("circle")  # Layout in a circular arrangement
# Plot the graph with labels and custom options
plot(
    g,
    layout=layout,
    vertex_label=g.vs["name"],  # Label vertices
    vertex_color="lightblue",    # Vertex color
    edge_width=g.es["weight"],   # Edge width based on weight
    vertex_size=30,              # Vertex size
    edge_color="grey",           # Edge color
    bbox=(300, 300),             # Size of the plot
    margin=20                    # Margin around the plot
)
g.savefig('exampleGraph.png') # You can also save to many file formats
py
PYTHON

Gráfico Generado

A continuación se muestra la imagen de un gráfico simple que se ha generado con la ayuda de la biblioteca Matplotlib y con la ayuda de las vinculaciones de Python de la biblioteca Cairo.

igraph python (Cómo funciona para desarrolladores): Figura 3 - Gráfico generado

Operaciones avanzadas de gráficos

Realizar diversas operaciones y análisis de gráficos, como calcular la centralidad, encontrar comunidades o identificar los caminos más cortos:

# Calculate degree centrality for each vertex
degrees = g.degree()
print("Degrees of vertices:", degrees)
# Compute shortest path between two vertices that dont have a predefined 
# distance
shortest_path = g.shortest_paths_dijkstra(source=0, target=3)
print("Shortest path from vertex 0 to 3:", shortest_path)
# Detect communities using the Louvain method
communities = g.community_multilevel()
print("Detected communities:", communities)
py
PYTHON

Salidas de Consola

igraph python (Cómo funciona para desarrolladores): Figura 4 - Salida de consola de los cálculos anteriores

Presentación de IronPDF

igraph python (Cómo funciona para desarrolladores): Figura 5 - página web de IronPDF

Incluso podemos generar y editar PDFs programáticamente utilizando el módulo de Python IronPDF. Utilizando esta biblioteca, tendrás una enorme capacidad para crear documentos PDF a partir de HTML, fusionar dos o más documentos PDF e incluso aprovechar los PDFs existentes y modificarlos para incluir texto, fotos y anotaciones. IronPDF le permite generar PDFs de calidad profesional a partir de cualquier sitio HTML o contenido web que se pueda utilizar para generar informes, facturas y otros documentos que tienen estilos preestablecidos.

Algunas de sus características avanzadas incluyen la edición de diseños de página, el cifrado de documentos y la extracción de texto de un PDF. Ayudará a los desarrolladores a estar mejor posicionados para mejorar la utilidad general de sus productos si pueden manejar PDFs mejor.

Instalación de la biblioteca IronPDF

Puede usar el siguiente comando para instalar los paquetes que permiten que la interfaz de Python habilite las capacidades de IronPDF para su proyecto:

pip install ironpdf
pip install ironpdf
SHELL

Integrando igraph con IronPDF

Estos son los pasos que seguirías en Python para combinar igraph e IronPDF: Primero, crearás un gráfico con igraph y lo mostrarás. Luego, convierte la visualización resultante en un PDF.

from igraph import Graph, plot
import matplotlib.pyplot as plt
from ironpdf import *     import warnings
warnings.filterwarnings('ignore')
# Ensure that you have replaces the string with your own license key
License.LicenseKey = "YOUR LICENSE KEY GOES HERE";
# Create an empty graph
g = Graph()
# Add adjacent vertices (nodes)
g.add_vertices(5)  # Adding 5 vertices
# Add edges (connections between vertices)
g.add_edges([(0, 1), (1, 2), (2, 3), (3, 4), (4, 0), (0, 2)])  # Adding edges
# Add vertex and edge attributes
g.vs["name"] = ["A", "B", "C", "D", "E"]  # Vertex labels
g.es["weight"] = [1, 2, 3, 4, 5, 6]  # Edge weights
# Define a layout for the graph
layout = g.layout("circle")  # Layout in a circular arrangement
# Create a plot using matplotlib
fig, ax = plt.subplots()
# Plot the geometric random graph
plot(
    g,
    target=ax,
    layout=layout,
    vertex_label=g.vs["name"],  # Label vertices
    vertex_color="lightblue",    # Vertex color
    edge_width=g.es["weight"],   # Edge width based on weight
    vertex_size=30,              # Vertex size
    edge_color="grey",           # Edge color
    bbox=(300, 300),             # Size of the plot
    margin=20                    # Margin around the plot
)
# save in different file formats
plt.savefig('result.png')
ImageToPdfConverter.ImageToPdf('result.png').SaveAs("result.pdf")
py
PYTHON

Este script generará un gráfico a través de igraph, para ser visualizado con matplotlib, y luego se utilizará IronPDF para convertir el gráfico en un PDF. Este código importará todas las bibliotecas necesarias y configurará IronPDF con una clave de licencia. Crea un gráfico vacío con cinco vértices y seis aristas y añade pesos y etiquetas para mayor claridad.

El gráfico se dispone de forma circular y el trazado implica matplotlib con varias propiedades de visualización, como el color del vértice y su tamaño, y el grosor de las líneas de los bordes. Después de eso, el resultado se guarda como un archivo de imagen, result.png. Finalmente, se transforma en un PDF, result.pdf, con el ImageToPdfConverter de IronPDF. La creación de gráficos, la visualización y la producción de un PDF se combinan en un único flujo de trabajo.

PDF de salida

igraph python (Cómo funciona para desarrolladores): Figura 6 - PDF generado

Licencias

Se necesita una clave de licencia para que el código funcione sin una marca de agua. Puedes registrarte para una licencia de prueba gratuita en este enlace. Tenga en cuenta que puede registrarse sin proporcionar prueba de identidad. Todo lo que necesitas hacer para registrarte en la versión de prueba gratuita es ingresar tu dirección de correo electrónico.

igraph python (Cómo funciona para desarrolladores): Figura 7 - Plan de licencias de IronPDF

Conclusión

Con el poder de IronPDF e igraph, puedes desarrollar soluciones para visualizar y presentar datos de gráficos complejos. A través de igraph, puedes crear y analizar fácilmente redes complejas, mientras usas IronPDF para la conversión fluida de visualizaciones de datos en documentos PDF de calidad profesional. Estas fuerzas combinadas te ayudarán a desarrollar informes integrales, incluyendo tanto análisis de gráficos como representaciones visuales.

Esta integración permite el desarrollo de diversas aplicaciones que demandan documentación de red integral, incluyendo investigación académica, análisis de negocios e informes basados en datos. Además, combina la salida de documentos de alta calidad con capacidades de manipulación muy potentes con gráficos. Además de todo eso, Iron Software ofrece una multiplicidad de bibliotecas, lo que facilita el desarrollo de aplicaciones para una variedad de plataformas y sistemas operativos como Windows, Android, MAC, Linux y otros.

Chaknith Bin
Ingeniero de software
Chaknith trabaja en IronXL e IronBarcode. Tiene una gran experiencia en C# y .NET, ayudando a mejorar el software y a apoyar a los clientes. Sus conocimientos de las interacciones con los usuarios contribuyen a mejorar los productos, la documentación y la experiencia general.
< ANTERIOR
imageio python (Cómo funciona para desarrolladores)
SIGUIENTE >
Stellargraph Python (Cómo funciona para desarrolladores)

¿Listo para empezar? Versión: 2025.5 acaba de salir

Ver licencias >