Une liste de graphiques pouvant être créés avec NetworkX.
La version de NetworkX est la 2.4. Il s'agit d'une traduction japonaise de Document officiel. Tous ne sont pas couverts. Veuillez nous faire savoir si la traduction est incorrecte.
Veuillez importer networkx
et matplotlib.pyplot
à l'avance pour exécuter le code ci-dessous.
import networkx as nx
import matplotlib.pyplot as plt
balanced_tree(r, h, create_using=None)
Renvoie une branche r
parfaitement équilibrée avec une hauteur de h
.
Paramètres | Moule | La description |
---|---|---|
r | int | Le nombre de branches de l'arbre. Chaque nœud a r nœuds enfants. |
h | int | Hauteur de l'arbre |
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Le type de graphique que vous souhaitez créer |
Exemple
#balanced_tree
G=nx.balanced_tree(3,2)
plt.cla()
nx.draw_networkx(G)
plt.show()
barbell_graph(m1, m2, create_using=None)
Renvoie un graphique à barres (un graphique dans lequel deux graphiques complets constitués de nœuds «m1» sont connectés par un seul chemin composé de nœuds «m2»).
Paramètres | Moule | La description |
---|---|---|
m1 | int | Graphique complet gauche et droit(bell)Nombre de. m1>1 |
m2 | int | Le nombre de nœuds sur l'itinéraire reliant les graphiques complets gauche et droit. m2>=0 |
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Le type de graphique que vous souhaitez créer |
Comment numéroter les nœuds
Graphique complet à gauche: 0,1, ..., m1-1
Parcours: m1, m1 + 1, ..., m1 + m2-1
Graphique complet à droite: m1 + m2, m1 + m2 + 1, ..., 2 * m1 + m2-1
Exemple 1
#barbell_graph
G=nx.barbell_graph(5,2)
plt.cla()
nx.draw_networkx(G)
plt.show()
Exemple 2 (lorsque m2 = 0)
G=nx.barbell_graph(5,0)
plt.cla()
nx.draw_networkx(G)
plt.show()
binomial_tree(n)
Renvoie un arbre binaire de degré n
. Le nombre de nœuds est $ 2 ^ n $ et le nombre d'arêtes est $ 2 ^ n-1 $.
Paramètres | Moule | La description |
---|---|---|
n | int | Ordre des arbres |
Exemple
G=nx.binomial_tree(3)
plt.cla()
nx.draw_networkx(G)
plt.show()
complete_graph(n, create_using=None)
Renvoie un graphique dans lequel un nœud est lié à tous les autres nœuds.
Paramètres | Moule | La description |
---|---|---|
n | int ou conteneur itérable de nœuds | Lorsque n est un type entier, le nœud est range(n)Il est créé à partir de. Lorsque n est un conteneur itérable pour les nœuds, les graphiques sont créés avec ces nœuds |
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Le type de graphique que vous souhaitez créer |
Exemple 1 (lorsque n est un type entier)
G=nx.complete_graph(6)
plt.cla()
nx.draw_networkx(G)
plt.show()
Exemple 2 (lorsque n est un conteneur de nœuds)
G=nx.complete_graph(range(12,18))
plt.cla()
nx.draw_networkx(G)
plt.show()
complete_multipartite_graph(*subset_sizes)
Paramètres | Moule | La description |
---|---|---|
subset_sizes | taple d'entiers ou tuple de nœuds itérables | Lorsque n est de type entier, chaque sous-ensemble du graphe en plusieurs parties a n sommets. Lorsque n est itérable, des graphiques avec ces nœuds sont créés |
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Le type de graphique que vous souhaitez créer |
Exemple Créez un graphique en plusieurs parties complet composé de trois sous-ensembles, chacun avec quelques nœuds.
G=nx.complete_multipartite_graph(2,3,3)
plt.cla()
nx.draw_networkx(G)
plt.show()
circular_ladder_graph(n, create_using=None)
Renvoie un graphique en échelle circulaire de longueur n.
Paramètres | Moule | La description |
---|---|---|
n | int | Longueur d'un tour |
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Le type de graphique que vous souhaitez créer |
Exemple
G=nx.circular_ladder_graph(10)
plt.cla()
nx.draw_networkx(G)
plt.show()
circulant_graph(n, offsets, create_using=None)
Renvoie un graphe circulaire composé de «n» nœuds. À quel autre nœud un nœud se connecte est spécifié par ʻoffsets`.
Paramètres | Moule | La description |
---|---|---|
n | int | Nombre de nœuds |
offsets | lists of integers | Liste des décalages de nœuds |
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Le type de graphique que vous souhaitez créer |
Exemple
G=nx.circulant_graph(10,[1,2])
plt.cla()
nx.draw_networkx(G)
plt.show()
Puisque ʻoffsets = [1,2] `, le sommet i est connecté au sommet i + 1, i + 2, respectivement. Vertex 0 est connecté à Vertex 1,2, Vertex 1 est connecté à Vertex 2,3, ..., Vertex 9 est connecté à Vertex 0,1.
cycle_graph(n, create_using=None)
Paramètres | Moule | La description |
---|---|---|
n | conteneur int ou iterble de nœuds | Lorsque n est un type entier, le nœud est range(n)Il est créé à partir de. Lorsque n est un conteneur itérable pour les nœuds, les graphiques sont créés avec ces nœuds |
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Le type de graphique que vous souhaitez créer |
Exemple
G=nx.cycle_graph(10)
plt.cla()
nx.draw_networkx(G)
plt.show()
dorogovtsev_goltsev_mendes_graph(n, create_using=None)
Renvoie le graphique créé par l'algorithme Dorogovstev-Goltsev-Mendes.
Papier original https://arxiv.org/abs/cond-mat/0112143
Paramètres | Moule | La description |
---|---|---|
n | int | Nombre de générations |
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Le type de graphique que vous souhaitez créer |
G=nx.dorogovtsev_goltsev_mendes_graph(3)
plt.cla()
nx.draw_networkx(G)
plt.show()
empty_graph(n=0, create_using=None, default=<class 'networkx.classes.graph.Graph'>)
Renvoie un graphique de «n» nœuds sans arêtes.
Paramètres | Moule | La description |
---|---|---|
n | int | Nombre de nœuds |
create_using | Graph Instance, Constructor or None | Le type de graphique que vous souhaitez créer. Quand Aucun est spécifiédefault Utilisez le constructeur. |
default | Graph constructor (optional, default = nx.Graph) | create_using=None Constructeur utilisé quand. |
Exemple
G=nx.empty_graph(10)
plt.cla()
nx.draw_networkx(G,pos)
plt.show()
La variable create_using doit être un constructeur de Graph ou un objet de type «graph».
Il existe trois utilisations principales de create_using.
Créez un graphe orienté vide (DiGraph).
n = 10
G = nx.empty_graph(n, create_using=nx.DiGraph)
Créez un graphe vide G2 avec des arêtes supprimées du graphe complet G1.
n=5
G1=nx.complete_graph(n)
G1.number_of_edges() #10
G2=nx.empty_graph(n,create_using=G1)
G2.number_of_edges() #0
Pour votre propre fonction de création de graphe mygraph
, définissez pour utiliser le constructeur par défaut nx.MultiGraph
si create_using
n'est pas spécifié, et pour utiliser le constructeur spécifié dans le cas contraire.
def mygraph(n, create_using=None):
G = nx.empty_graph(n, create_using, default=nx.MultiGraph)
G.add_edges_from([(0, 1), (0, 1)])
return G
G = mygraph(3)
G.is_multigraph() #True
G = mygraph(3, nx.Graph)
G.is_multigraph() #False
full_rary_tree(r, n, create_using=None)
Crée toutes les branches «r» constituées de «n» nœuds. Chaque nœud est une feuille ou a des nœuds enfants «r».
Paramètres | Moule | La description |
---|---|---|
r | int | Nombre de branches de l'arbre |
n | int | Nombre de nœuds |
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Le type de graphique que vous souhaitez créer |
Exemple
G=nx.full_rary_tree(3,16)
pos=nx.spring_layout(G,iterations=1000)
plt.cla()
nx.draw_networkx(G,pos)
plt.show()
ladder_graph(n, create_using=None)
Renvoie un graphique en échelle.
Paramètres | Moule | La description |
---|---|---|
n | int | Longueur de l'échelle |
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Le type de graphique que vous souhaitez créer |
Exemple
G=nx.ladder_graph(7)
plt.cla()
nx.draw_networkx(G)
plt.show()
lollipop_graph(m, n, create_using=None)
Renvoie un graphique en forme de sucette (un graphique complet de «m» nœuds et un chemin de «n» nœuds qui y sont connectés).
Paramètres | Moule | La description |
---|---|---|
m | int or iterable container of nodes (default = 0) | Nombre de nœuds qui composent un graphique complet |
n | int or iterable container of nodes (default = 0)) | Nombre de nœuds qui composent l'itinéraire |
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Le type de graphique que vous souhaitez créer |
Exemple
G=nx.lollipop_graph(6,3)
plt.cla()
nx.draw_networkx(G)
plt.show()
null_graph(create_using=None)
Renvoie un graphique sans nœuds ni arêtes.
Voir ʻempty_graph pour savoir comment utiliser
create_using`.
Paramètres | Moule | La description |
---|---|---|
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Le type de graphique que vous souhaitez créer |
Exemple
G=nx.null_graph()
plt.cla()
nx.draw_networkx(G)
plt.show()
path_graph(n, create_using=None)
Renvoie un graphique de «n» nœuds qui ne passe pas deux fois par le même nœud.
Paramètres | Moule | La description |
---|---|---|
n | int or iterable | Nombre de nœuds |
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Le type de graphique que vous souhaitez créer |
G=nx.path_graph(5)
plt.cla()
nx.draw_networkx(G)
plt.show()
star_graph(n, create_using=None)
Renvoie un graphique avec «n» nœuds périphériques externes concaténés pour un nœud central.
Paramètres | Moule | La description |
---|---|---|
n | int or iterable | Nombre de nœuds périphériques externes |
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Le type de graphique que vous souhaitez créer |
G=nx.star_graph(5)
plt.cla()
nx.draw_networkx(G)
plt.show()
trivial_graph(create_using=None)
Renvoie le graphique le plus simple constitué d'un seul nœud.
Paramètres | Moule | La description |
---|---|---|
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Le type de graphique que vous souhaitez créer |
G=nx.trivial_graph()
plt.cla()
nx.draw_networkx(G)
plt.show()
turan_graph(n, r)
Renvoie un graphe en plusieurs parties complet avec n
nœuds divisés en r
parties non connectées.
Le nombre d'arêtes est le nombre arrondi à la fraction de «n ** 2 * (r-1) / (2 * r)».
Paramètres | Moule | La description |
---|---|---|
n | int | Nombre de nœuds. |
r | int | Nombre de pièces non connectées. 1<=r<=Doit être n. |
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Le type de graphique que vous souhaitez créer |
G=nx.turan_graph(6,3)
plt.cla()
nx.draw_networkx(G)
plt.show()
Le nœud est divisé en trois parties (0,1), (2,3), (4,5). Les nœuds appartenant à la même pièce ne sont pas concaténés.
Le graphique donné dans l'exemple dit: "Trois couples sont allés à un cocktail. Sur place, tout le monde a serré la main de tous les participants sauf eux-mêmes et leur conjoint. La relation à ce moment-là a été un signe de la tête aux participants. , Quel genre de graphique obtiendriez-vous si vous exprimiez votre poignée de main comme un bord? »Est la réponse à la question. Par conséquent, il s'appelle "Cocktail Party Graph".
wheel_graph(n, create_using=None)
Renvoie un graphique avec n-1 nœuds externes concaténés pour un nœud hub.
Paramètres | Moule | La description |
---|---|---|
n | int or iterable | Nombre de nœuds. |
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Le type de graphique que vous souhaitez créer |
Example
G=nx.wheel_graph(10)
plt.cla()
nx.draw_networkx(G)
plt.show()
C'est un graphe clairsemé avec un composant fortement connecté.
margulis_gabber_galil_graph(n, create_using=None)
Renvoie un graphe Margulis-Gabber-Galil. Il s'agit d'un graphe multiplex non orienté avec un ordre de nœuds de 8. La deuxième plus grande valeur propre dans la matrice adjacente de ce graphique est $ 5 \ sqrt {2} $. Une erreur est renvoyée si le graphique n'est pas orienté ou plusieurs graphiques.
Paramètres | Moule | La description |
---|---|---|
n | int or iterable | Définit le nombre de nœuds. Le nombre de nœuds |
create_using | NetworkX graph constructor, optional (default MultiGraph) | Le type de graphique que vous souhaitez créer |
G=nx.margulis_gabber_galil_graph(3)
pos=nx.circular_layout(G)
plt.cla()
nx.draw_networkx(G)
plt.show()
chordal_cycle_graph(p, create_using=None)
Renvoie un graphe fermé avec des accords (arêtes qui ne font pas partie du fermé mais se connectent entre deux nœuds sur le graphe fermé). Le nœud x a une chaîne pour le nœud y qui satisfait x * y = 1 (mod p). Une erreur est renvoyée si le graphique n'est pas orienté ou plusieurs graphiques.
Paramètres | Moule | La description |
---|---|---|
p | prime number | Définit le nombre de nœuds. Doit être un nombre premier. |
create_using | NetworkX graph constructor, optional (default MultiGraph) | Le type de graphique que vous souhaitez créer |
G=nx.chordal_cycle_graph(7)
pos=nx.circular_layout(G)
plt.cla()
nx.draw_networkx(G,pos)
plt.show()
Social Networks
C'est un graphe de réseau social célèbre.
karate_club_graph()
Un réseau de membres du Karate Club interrogé par le psychologue social américain Zachary. Vous pouvez voir qu'il est divisé en deux factions centrées sur le nœud 0 et les nœuds 32 et 33.
Zachary, Wayne W. “An Information Flow Model for Conflict and Fission in Small Groups.” Journal of Anthropological Research, 33, 452–473, (1977).
G=nx.karate_club_graph()
plt.figure(figsize=(8,6))
nx.draw_networkx(G)
plt.show()
davis_southern_women_graph()
Un réseau de 18 femmes dans le sud des États-Unis interrogé par Davis et al.Dans les années 1930. Il s'agit d'un graphique en deux parties composé de nœuds représentant 18 femmes et 14 événements participants.
A. Davis, Gardner, B. B., Gardner, M. R., 1941. Deep South. University of Chicago Press, Chicago, IL.
florentine_families_graph()
Relation de mariage de familles influentes telles que la famille Médicis à Florence Renaissance.
Ronald L. Breiger and Philippa E. Pattison Cumulated social roles: The duality of persons and their algebras,1 Social Networks, Volume 8, Issue 3, September 1986, Pages 215-256
les_miserables_graph()
les_miserables_graph()
C'est un graphique des personnages du roman "Les Misérables".
D. E. Knuth, 1993. The Stanford GraphBase: a platform for combinatorial computing, pp. 74-87. New York: AcM Press.
Recommended Posts