Pruebe en producción sin marcas de agua.
Funciona donde lo necesite.
Obtén 30 días de producto totalmente funcional.
Ténlo en funcionamiento en minutos.
Acceso completo a nuestro equipo de asistencia técnica durante la prueba del producto
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.
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.
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.
Debes instalar primero el paquete igraph. Se puede usar el siguiente comando pip para esto:
pip install igraph
pip install 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
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
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.
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
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.
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
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
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.
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.
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.