PYTHON HILFE

igraph Python (Wie es für Entwickler funktioniert)

Einführung

Graphen und komplexe Netzwerkanalysen sind grundlegende Konzepte der Informatik und Mathematik, die zur Modellierung komplexer Verbindungen und Interaktionen verwendet werden. Die Knoten, manchmal auch als Ecken bezeichnet, und Kanten, die manchmal als Verbindungen bezeichnet werden, eines Graphen sind im Wesentlichen lediglich visuelle Darstellungen und Interpretationen einer Entität und ihrer Beziehungen, die durch die Kanten gezeigt werden, die die Knoten verbinden.

Allgemeiner betrachtet werden alle Grafiken, die für Transportsysteme, soziale Netzwerke und Kommunikationsnetzwerke verwendet werden, als Netzwerke angesehen. Durch die Betrachtung von Graphen und Netzwerken können wir die Probleme im Zusammenhang mit Konnektivität, Fluss und Netzwerkstruktur verstehen und überwinden. Solche Arbeiten bieten Einblicke in eine Vielfalt von Bereichen, von sozialen Dynamiken und organisatorischen Strukturen bis hin zu Algorithmen für effiziente Routenführung und Optimierung. Diese Konzepte sind sehr zentral in der Netzwerktheorie, der Operationsforschung und der Datenwissenschaft.

In diesem Artikel verwenden wir igraph, um zu zeigen, wie Sie Netzwerkdiagramme erstellen und mit der flexiblen und zuverlässigen IronPDF-Bibliothek in eine PDF-Datei drucken können.

Was ist igraph?

Igraph ist ein leistungsstarkes Python-Paket zur Erstellung, Manipulation und Analyse komplexer Graphen und Netzwerke. Es bietet ein enormes Toolkit zur Bearbeitung von Graphen, von deren Erstellung über die Manipulation bis hin zur Visualisierung. Python igraph erleichtert die Implementierung von Netzwerkanalysen durch viele Algorithmen, die verschiedene Metriken der Zentralität, kürzeste Wege, Gemeinschaftsstrukturen und noch mehr berechnen.

Diese Bibliothek bietet somit eine gute Visualisierung mit adaptiven Layouts und Eigenschaften für gerichtete und ungerichtete Graphen. Igraph ist sehr flexibel und schnell und wird häufig in Anwendungen zur Analyse schwieriger relationaler Daten gefunden, wie beispielsweise in der Datenwissenschaft, der rechnergestützten Biologie und Studien zu sozialen Netzwerken.

igraph python (Funktionsweise für Entwickler): Abbildung 1 - Igraph-Webseite

Einrichtung und Nutzung des igraph Python-Pakets

Um grundlegende Operationen und Konfigurationen der Graphentheorie in Python zu beginnen, verwenden Sie die folgenden Schritte, um igraph selbst zu erstellen, zu konfigurieren und zu verwenden.

Installation des igraph-Pakets

Sie müssen zuerst das igraph-Paket installieren. Der folgende Pip-Befehl kann dafür verwendet werden:

pip install igraph
pip install igraph
SHELL

Erstellen eines Graphen mit Igraph

Hier ist ein einfaches Beispiel, das Ihnen zeigt, wie man mit igraph einen Graphen konstruieren und einrichten kann:

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

Konsolenausgabe

igraph python (Wie es für Entwickler funktioniert): Abbildung 2 - Konsolenausgabe vom Codebeispiel

Diagrammlayout und Visualisierung konfigurieren

Wir können das Diagramm mit einigen der eingebauten Funktionen von igraph zeichnen. Ändern Sie das Erscheinungsbild und das Layout mit folgendem:

# 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

Ausgegebener Graph

Unten ist das einfache Diagrammbild, das mit Hilfe der Matplotlib-Bibliothek und den Python-Bindungen der Cairo-Bibliothek erstellt wurde.

igraph python (Wie es für Entwickler funktioniert): Abbildung 3 - Ausgegebenes Diagramm

Erweiterte Graphoperationen

Führen Sie verschiedene Graphoperationen und -analysen durch, wie zum Beispiel die Berechnung der Zentralität, das Finden von Gemeinschaften oder das Ermitteln der kürzesten Wege:

# 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

Konsolenausgaben

igraph python (Wie es für Entwickler funktioniert): Abbildung 4 - Konsolenausgabe der vorherigen Berechnungen

Einführung in IronPDF

igraph python (Wie es für Entwickler funktioniert): Abbildung 5 - IronPDF-Webseite

Wir können sogar PDFs programmatisch mit dem IronPDF Python-Modul erstellen und bearbeiten. Mit dieser Bibliothek haben Sie die enorme Fähigkeit, PDF-Dokumente aus HTML zu erstellen, zwei oder mehr PDF-Dokumente zusammenzuführen und sogar vorhandene PDFs zu verwenden und zu ändern, um Text, Fotos und Anmerkungen hinzuzufügen. IronPDF ermöglicht es Ihnen, professionelle PDFs aus jeder HTML-Seite oder Webinhalten zu erstellen, die zur Erstellung von Berichten, Rechnungen und anderen Dokumenten mit voreingestellten Stilen geeignet sind.

Zu den erweiterten Funktionen gehören das Bearbeiten von Seitenlayouts, die Verschlüsselung von Dokumenten und die Textextraktion aus einer PDF-Datei. Es wird Entwicklern helfen, besser positioniert zu sein, um die allgemeine Nützlichkeit Ihrer Produkte zu verbessern, wenn sie PDF-Dateien besser handhaben können.

Installieren der IronPDF-Bibliothek

Sie können den folgenden Befehl verwenden, um die Pakete zu installieren, die die Python-Schnittstelle aktivieren, um IronPDF-Funktionen für Ihr Projekt zu ermöglichen:

pip install ironpdf
pip install ironpdf
SHELL

Integration von igraph mit IronPDF

Dies sind die Schritte, die Sie in Python unternehmen würden, um igraph und IronPDF zu kombinieren: Zuerst erstellen Sie mit igraph einen Graphen und stellen ihn dar. Dann verwandeln Sie die resultierende Visualisierung in eine PDF-Datei.

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

Dieses Skript wird einen Graphen mit igraph erzeugen, der mit matplotlib visualisiert wird. Anschließend wird IronPDF verwendet, um das Diagramm in ein PDF zu verwandeln. Dieser Code wird alle benötigten Bibliotheken importieren und IronPDF mit einem Lizenzschlüssel einrichten. Erstellen Sie einen leeren Graphen mit fünf Knoten und sechs Kanten und fügen Sie zur Klarheit Gewichte und Beschriftungen hinzu.

Der Graph wird dann kreisförmig angeordnet, und das Plotten erfolgt mit matplotlib unter Berücksichtigung mehrerer Visualisierungseigenschaften, wie der Farbe der Knoten und ihrer Größe sowie der Linienstärken der Kanten. Danach wird das Ergebnis als Bilddatei, result.png, gespeichert. Schließlich wird es mit IronPDF's ImageToPdfConverter in ein PDF, result.pdf, umgewandelt. Erstellung von Grafiken, Visualisierung und PDF-Erzeugung sind in einem Workflow kombiniert.

Ausgegebenes PDF

igraph python (So funktioniert es für Entwickler): Abbildung 6 - Ausgegebenes PDF

Lizenzvergabe

Ein Lizenzschlüssel ist erforderlich, damit der Code ohne Wasserzeichen funktioniert. Sie können sich für eine kostenlose Testlizenz unter diesem Link registrieren. Beachten Sie, dass Sie sich für einen registrieren können, ohne einen Identitätsnachweis zu erbringen. Alles, was Sie tun müssen, um sich für die kostenlose Testversion zu registrieren, ist Ihre E-Mail-Adresse einzugeben.

igraph python (wie es für Entwickler funktioniert): Abbildung 7 - IronPDF-Lizenzplan

Schlussfolgerung

Mit der Leistung von IronPDF und igraph können Sie Lösungen für die Visualisierung und Präsentation von komplexen Graphendaten entwickeln. Mit igraph können Sie komplexe Netzwerke einfach erstellen und analysieren, während Sie IronPDF für die nahtlose Umwandlung von Datenvisualisierungen in professionelle PDF-Dokumente nutzen. Diese kombinierten Kräfte helfen Ihnen, umfassende Berichte zu entwickeln, einschließlich sowohl grafischer Analysen als auch visueller Darstellungen.

Diese Integration ermöglicht die Entwicklung verschiedener Anwendungen, die umfassende Netzdokumentation erfordern, einschließlich akademischer Forschung, Geschäftsanalysen und datengetriebener Berichterstattung. Darüber hinaus kombiniert es hochwertige Dokumentausgabe mit sehr leistungsstarken Manipulationsmöglichkeiten durch Grafiken. Zusätzlich dazu bietet Iron Software eine Vielzahl von Bibliotheken, die die Entwicklung von Anwendungen für eine Reihe von Plattformen und Betriebssystemen wie Windows, Android, MAC, Linux und andere erleichtern.

Chaknith Bin
Software-Ingenieur
Chaknith arbeitet an IronXL und IronBarcode. Er hat tiefgehende Expertise in C# und .NET und hilft, die Software zu verbessern und Kunden zu unterstützen. Seine Erkenntnisse aus Benutzerinteraktionen tragen zu besseren Produkten, Dokumentation und einem insgesamt besseren Erlebnis bei.
< PREVIOUS
imageio python (So funktioniert es für Entwickler)
NÄCHSTES >
Stellargraph Python (Wie es für Entwickler funktioniert)

Sind Sie bereit, loszulegen? Version: 2025.5 gerade veröffentlicht

Lizenzen anzeigen >