Maison  >  Article  >  Java  >  Dessinez des graphiques complets à l'aide de Networkx en Python

Dessinez des graphiques complets à l'aide de Networkx en Python

王林
王林avant
2023-09-06 16:21:121120parcourir

Dessinez des graphiques complets à laide de Networkx en Python

Présentation

L'une des idées les plus importantes de la théorie des graphes est l'idée du graphe entier. Il est constitué de « points » appelés « nœuds », qui sont tous reliés par des « bords ». En d’autres termes, il comporte plus de liens. Les graphiques complets sont importants dans de nombreux domaines, tels que les réseaux informatiques, les réseaux sociaux et la résolution de problèmes d'optimisation.

Networkx est un puissant outil Python qui permet aux programmeurs et aux data scientists de traiter et d'afficher facilement des graphiques complexes. Les utilisateurs peuvent facilement créer, modifier, visualiser et déplacer des diagrammes grâce à l'interface facile à utiliser et aux nombreuses fonctionnalités de Networkx. En tant que tel, il s’agit d’un outil important pour comprendre le monde riche de la théorie des graphes et comment elle peut être appliquée aux structures de données et à d’autres domaines.

Installer Networkx

Networkx peut être ajouté à Python à l'aide de deux des gestionnaires de packages les plus connus. Les packages utilisés pour les construire sont appelés pip et conda. Quoi qu'il en soit, c'est tout ce que vous devez faire pour que Networkx soit opérationnel -

Utilisez pip (pour Windows

  • Ouvrez une interface de ligne de commande (par exemple, Invite de commandes sous Windows, Terminal sous Mac OS/Linux).

  • Assurez-vous que Python est installé sur votre système. Vous pouvez vérifier cela en exécutant python --version à partir de la ligne de commande.

  • Mettez à jour pip vers la dernière version en exécutant pip install --upgrade pip.

  • Pour installer Networkx, tapez simplement pip install networkx et appuyez sur Entrée.

pip va désormais télécharger et installer automatiquement la dernière version de Networkx et ses dépendances

Utilisation de conda (pour Mac)

  • Si Anaconda ou Miniconda est installé, ouvrez Terminal ou Anaconda Prompt.

  • Si vous n'avez pas Anaconda ou Miniconda, veuillez télécharger et installer la version appropriée à partir du site officiel (https://www.anaconda.com/products/individual).

  • Après avoir ouvert Anaconda Prompt, exécutez la commande suivante : conda installez -c conda-forge networkx.

  • conda va maintenant résoudre les dépendances et installer Networkx sur votre système.

Après avoir terminé l'une des étapes ci-dessus, Networkx devrait être installé avec succès sur votre ordinateur et vous pouvez commencer à l'utiliser pour générer et analyser des graphiques en Python.

Pour vérifier l'installation, vous pouvez intégrer Networkx dans un shell ou un script interactif Python en tapant import networkx. S'il n'y a aucune erreur, l'installation est réussie et vous pouvez utiliser Networkx pour explorer différentes tâches et algorithmes liés aux graphiques

Créez des graphiques complets

Networkx facilite la création de l'intégralité du graphique. Un graphe complet est un graphe dans lequel une arête unique relie chaque paire de nœuds uniques. La méthode complete_graph() de Networkx peut être utilisée pour construire le graphique entier. Le nombre de nœuds dans le graphique illustre comment générer le graphique entier composé de cinq nœuds

import networkx as nx

# Create a complete graph with 5 nodes
complete_graph = nx.complete_graph(5)

Ajouter des nœuds et des arêtes

Networkx facilite l'ajout de nœuds et de liens à votre graphique, que le graphique soit plein ou non. Nous ajoutons un seul nœud en utilisant la méthode add_node() et en prenant le nom du nœud en entrée. A titre d'exemple -

Code Python

complete_graph.add_node(6)
La méthode

add_nodes_from() prend une liste d'étiquettes de nœuds comme paramètre, ce qui nous permet d'ajouter plusieurs nœuds à la fois. La méthode pour inclure les arêtes est la même. Utilisez la méthode add_edge() pour créer un lien entre les nœuds 1 et 2 -

Code Python

complete_graph.add_edge(1, 2)

Vous pouvez transmettre une liste de tuples (où chaque tuple représente un bord entre deux nœuds) à la méthode add_edges_from() pour ajouter plusieurs bords à la fois.

Code Python

edges_to_add = [(3, 4), (4, 0), (2, 3)]
complete_graph.add_edges_from(edges_to_add)

Networkx vous permet également de personnaliser les bords avec des propriétés supplémentaires telles que des poids et des étiquettes, qui peuvent être utiles dans de nombreux cas d'utilisation basés sur des graphiques.

Visualisez le tableau complet

Comprendre la structure et les propriétés d'un diagramme nécessite de le visualiser dans son ensemble. Networkx fonctionne en conjonction avec la boîte à outils Matplotlib pour rendre la visualisation graphique un jeu d'enfant. La méthode draw() de Networkx nous permet de créer un graphique complet -

Code Python

import matplotlib.pyplot as plt

# Draw the complete graph
nx.draw(complete_graph, with_labels=True, node_color='skyblue', node_size=800,
font_size=10)

# Show the plot
plt.show()

Accéder aux informations sur le graphique

Networkx vous propose différentes manières d'obtenir des détails importants sur l'ensemble du diagramme. Par exemple, nous pouvons utiliser la méthode nodes() pour obtenir une liste de nœuds -

Code Python

all_nodes = complete_graph.nodes()

Nous pouvons utiliser la méthode edge() pour obtenir la liste des bords

Code Python

all_edges = complete_graph.edges()

Nous pouvons également utiliser la méthode Degree() pour obtenir la distribution des degrés d'un nœud, ce qui donne un dictionnaire avec des nœuds comme clés et des degrés comme valeurs

Code Python

degree_distribution = complete_graph.degree()

En examinant ces informations, nous pouvons en apprendre beaucoup sur la structure et les propriétés de l'ensemble du graphique, ce qui est important pour de nombreuses méthodes et applications qui utilisent des graphiques.

Applications

Les diagrammes complets ont de nombreuses utilisations dans le monde réel car ils montrent comment tout est lié. C'est aussi un excellent moyen de comprendre des relations complexes

  • Réseaux sociaux - Diagramme complet montrant comment les personnes appartenant à de petits groupes sociaux sont connectées les unes aux autres. Ceci est essentiellement utilisé dans une petite ville ou un groupe d'amis

  • Système de transport - Réseau de transport complet avec des connexions claires entre tous les emplacements et affiché avec des diagrammes complets. Ils aident à déterminer la meilleure approche et à planifier l'infrastructure

  • Réseau informatique - Tous les gadgets du réseau peuvent communiquer directement entre eux dans un diagramme complet. Ils aident les gens à comprendre comment les données sont envoyées et comment gérer les erreurs.

Conclusion

En résumé, travailler avec des graphiques complets en Python à l'aide de Networkx ouvre un tout nouveau monde d'options de structure de données et de théorie des graphes. Networkx vous offre un moyen simple à utiliser et efficace pour créer, visualiser et inspecter des diagrammes complets. Les graphiques complets sont importants pour comprendre la complexité des réseaux entièrement connectés, ce qui les rend utiles dans de nombreuses situations réelles. Des diagrammes complets montrent comment la connectivité et la vitesse jouent dans tous les domaines, des réseaux sociaux aux systèmes de transport et aux réseaux informatiques. En utilisant la puissance de Networkx, les développeurs et les chercheurs peuvent en apprendre davantage, améliorer la conception des systèmes et résoudre des problèmes difficiles dans de nombreux domaines différents. Toute personne intéressée par l'analyse de données basée sur des graphiques trouvera utile d'afficher des graphiques complets à l'aide de Python et Networkx.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer