Eine Liste von Diagrammen, die mit NetworkX erstellt werden können.
Die Version von NetworkX ist 2.4. Dies ist eine japanische Übersetzung von Official Document. Nicht alle sind abgedeckt. Bitte lassen Sie uns wissen, wenn die Übersetzung falsch ist.
Bitte importieren Sie networkx
und matplotlib.pyplot
im Voraus, um den folgenden Code auszuführen.
import networkx as nx
import matplotlib.pyplot as plt
balanced_tree(r, h, create_using=None)
Gibt einen perfekt ausbalancierten "r" -Zweig mit einer Höhe von "h" zurück.
Parameter | Schimmel | Erläuterung |
---|---|---|
r | int | Die Anzahl der Äste des Baumes. Jeder Knoten hat r untergeordnete Knoten. |
h | int | Baumhöhe |
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Die Art des Diagramms, das Sie erstellen möchten |
Beispiel
#balanced_tree
G=nx.balanced_tree(3,2)
plt.cla()
nx.draw_networkx(G)
plt.show()
barbell_graph(m1, m2, create_using=None)
Gibt ein Langhanteldiagramm zurück (ein Diagramm, in dem zwei vollständige Diagramme, die aus "m1" -Knoten bestehen, durch einen einzelnen Pfad verbunden sind, der aus "m2" -Knoten besteht).
Parameter | Schimmel | Erläuterung |
---|---|---|
m1 | int | Links und rechts vollständige Grafik(bell)Anzahl der. m1>1 |
m2 | int | Die Anzahl der Knoten auf der Route, die die linken und rechten vollständigen Diagramme verbinden. m2>=0 |
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Die Art des Diagramms, das Sie erstellen möchten |
Wie man Knoten nummeriert
Komplette Grafik links: 0,1, ..., m1-1
Route: m1, m1 + 1, ..., m1 + m2-1
Vollständige Grafik rechts: m1 + m2, m1 + m2 + 1, ..., 2 * m1 + m2-1
Beispiel 1
#barbell_graph
G=nx.barbell_graph(5,2)
plt.cla()
nx.draw_networkx(G)
plt.show()
Beispiel 2 (wenn m2 = 0)
G=nx.barbell_graph(5,0)
plt.cla()
nx.draw_networkx(G)
plt.show()
binomial_tree(n)
Gibt einen binären Baum vom Grad n
zurück. Die Anzahl der Knoten beträgt $ 2 ^ n $ und die Anzahl der Kanten beträgt $ 2 ^ n-1 $.
Parameter | Schimmel | Erläuterung |
---|---|---|
n | int | Baumreihenfolge |
Beispiel
G=nx.binomial_tree(3)
plt.cla()
nx.draw_networkx(G)
plt.show()
complete_graph(n, create_using=None)
Gibt ein Diagramm zurück, in dem ein Knoten an alle anderen Knoten gebunden ist.
Parameter | Schimmel | Erläuterung |
---|---|---|
n | int oder iterierbarer Container von Knoten | Wenn n ein ganzzahliger Typ ist, ist der Knoten Bereich(n)Es wird erstellt aus. Wenn n ein iterierbarer Container für Knoten ist, werden mit diesen Knoten Diagramme erstellt |
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Die Art des Diagramms, das Sie erstellen möchten |
Beispiel 1 (wenn n ein ganzzahliger Typ ist)
G=nx.complete_graph(6)
plt.cla()
nx.draw_networkx(G)
plt.show()
Beispiel 2 (wenn n ein Knotencontainer ist)
G=nx.complete_graph(range(12,18))
plt.cla()
nx.draw_networkx(G)
plt.show()
complete_multipartite_graph(*subset_sizes)
Parameter | Schimmel | Erläuterung |
---|---|---|
subset_sizes | Taple von ganzen Zahlen oder Tupel von Knoteniterablen | Wenn n vom Typ Integer ist, hat jede Teilmenge des mehrteiligen Graphen n Eckpunkte. Wenn n iterierbar ist, werden Diagramme mit diesen Knoten erstellt |
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Die Art des Diagramms, das Sie erstellen möchten |
Beispiel Erstellen Sie ein vollständiges mehrteiliges Diagramm, das aus drei Teilmengen mit jeweils wenigen Knoten besteht.
G=nx.complete_multipartite_graph(2,3,3)
plt.cla()
nx.draw_networkx(G)
plt.show()
circular_ladder_graph(n, create_using=None)
Gibt einen kreisförmigen Kontaktplan der Länge n zurück.
Parameter | Schimmel | Erläuterung |
---|---|---|
n | int | Länge einer Runde |
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Die Art des Diagramms, das Sie erstellen möchten |
Beispiel
G=nx.circular_ladder_graph(10)
plt.cla()
nx.draw_networkx(G)
plt.show()
circulant_graph(n, offsets, create_using=None)
Gibt einen kreisförmigen Graphen zurück, der aus n
Knoten besteht. Mit welchem Knoten ein Knoten verbunden ist, wird durch "Offsets" angegeben.
Parameter | Schimmel | Erläuterung |
---|---|---|
n | int | Anzahl der Knoten |
offsets | lists of integers | Liste der Knotenversätze |
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Die Art des Diagramms, das Sie erstellen möchten |
Beispiel
G=nx.circulant_graph(10,[1,2])
plt.cla()
nx.draw_networkx(G)
plt.show()
Da "Offsets = [1,2]" sind, sind die Eckpunkte i mit den Eckpunkten i + 1 bzw. i + 2 verbunden. Der Scheitelpunkt 0 ist mit den Scheitelpunkten 1 und 2 verbunden, der Scheitelpunkt 1 ist mit den Scheitelpunkten 2 und 3 verbunden, ... und der Scheitelpunkt 9 ist mit den Scheitelpunkten 0 und 1 verbunden.
cycle_graph(n, create_using=None)
Parameter | Schimmel | Erläuterung |
---|---|---|
n | int oder iterble Container von Knoten | Wenn n ein ganzzahliger Typ ist, ist der Knoten Bereich(n)Es wird erstellt aus. Wenn n ein iterierbarer Container für Knoten ist, werden mit diesen Knoten Diagramme erstellt |
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Die Art des Diagramms, das Sie erstellen möchten |
Beispiel
G=nx.cycle_graph(10)
plt.cla()
nx.draw_networkx(G)
plt.show()
dorogovtsev_goltsev_mendes_graph(n, create_using=None)
Gibt das vom Dorogovstev-Goltsev-Mendes-Algorithmus erstellte Diagramm zurück.
Original Papier https://arxiv.org/abs/cond-mat/0112143
Parameter | Schimmel | Erläuterung |
---|---|---|
n | int | Anzahl der Generationen |
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Die Art des Diagramms, das Sie erstellen möchten |
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'>)
Gibt einen Graphen von n
Knoten ohne Kanten zurück.
Parameter | Schimmel | Erläuterung |
---|---|---|
n | int | Anzahl der Knoten |
create_using | Graph Instance, Constructor or None | Die Art des Diagramms, das Sie erstellen möchten. Wenn Keine angegeben istdefault Verwenden Sie den Konstruktor. |
default | Graph constructor (optional, default = nx.Graph) | create_using=None Konstruktor verwendet, wenn. |
Beispiel
G=nx.empty_graph(10)
plt.cla()
nx.draw_networkx(G,pos)
plt.show()
Die Variable create_using muss ein Graphkonstruktor oder ein "graph" -ähnliches Objekt sein.
Es gibt drei Hauptverwendungen für create_using.
Erstellen Sie ein leeres gerichtetes Diagramm (DiGraph).
n = 10
G = nx.empty_graph(n, create_using=nx.DiGraph)
Erstellen Sie ein leeres Diagramm G2 mit Kanten, die aus dem vollständigen Diagramm G1 entfernt wurden.
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
Stellen Sie für Ihre eigene Diagrammerstellungsfunktion "mygraph" den Standardkonstruktor "nx.MultiGraph" ein, wenn "create_using" nicht angegeben ist, und verwenden Sie den angegebenen Konstruktor anderweitig.
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)
Erstellt alle "r" -Zweige, die aus "n" Knoten bestehen. Jeder Knoten ist ein Blatt oder hat "r" untergeordnete Knoten.
Parameter | Schimmel | Erläuterung |
---|---|---|
r | int | Anzahl der Äste des Baumes |
n | int | Anzahl der Knoten |
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Die Art des Diagramms, das Sie erstellen möchten |
Beispiel
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)
Gibt ein Kontaktplandiagramm zurück.
Parameter | Schimmel | Erläuterung |
---|---|---|
n | int | Leiterlänge |
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Die Art des Diagramms, das Sie erstellen möchten |
Beispiel
G=nx.ladder_graph(7)
plt.cla()
nx.draw_networkx(G)
plt.show()
lollipop_graph(m, n, create_using=None)
Gibt einen Lollipop-Graphen zurück (einen vollständigen Graphen von m
Knoten und einen Pfad von n
Knoten, der dorthin führt).
Parameter | Schimmel | Erläuterung |
---|---|---|
m | int or iterable container of nodes (default = 0) | Anzahl der Knoten, aus denen ein vollständiges Diagramm besteht |
n | int or iterable container of nodes (default = 0)) | Anzahl der Knoten, aus denen die Route besteht |
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Die Art des Diagramms, das Sie erstellen möchten |
Beispiel
G=nx.lollipop_graph(6,3)
plt.cla()
nx.draw_networkx(G)
plt.show()
null_graph(create_using=None)
Gibt ein Diagramm ohne Knoten oder Kanten zurück.
Siehe empty_graph
für die Verwendung von create_using
.
Parameter | Schimmel | Erläuterung |
---|---|---|
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Die Art des Diagramms, das Sie erstellen möchten |
Beispiel
G=nx.null_graph()
plt.cla()
nx.draw_networkx(G)
plt.show()
path_graph(n, create_using=None)
Gibt ein Diagramm von n
Knoten zurück, das denselben Knoten nicht zweimal durchläuft.
Parameter | Schimmel | Erläuterung |
---|---|---|
n | int or iterable | Anzahl der Knoten |
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Die Art des Diagramms, das Sie erstellen möchten |
G=nx.path_graph(5)
plt.cla()
nx.draw_networkx(G)
plt.show()
star_graph(n, create_using=None)
Gibt ein Diagramm mit n
äußeren peripheren Knoten zurück, die für einen zentralen Knoten verkettet sind.
Parameter | Schimmel | Erläuterung |
---|---|---|
n | int or iterable | Anzahl der äußeren peripheren Knoten |
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Die Art des Diagramms, das Sie erstellen möchten |
G=nx.star_graph(5)
plt.cla()
nx.draw_networkx(G)
plt.show()
trivial_graph(create_using=None)
Gibt das einfachste Diagramm zurück, das nur aus einem Knoten besteht.
Parameter | Schimmel | Erläuterung |
---|---|---|
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Die Art des Diagramms, das Sie erstellen möchten |
G=nx.trivial_graph()
plt.cla()
nx.draw_networkx(G)
plt.show()
turan_graph(n, r)
Gibt einen vollständigen mehrteiligen Graphen mit n Knoten zurück, die in nicht verbundene Teile unterteilt sind. Die Anzahl der Kanten ist die auf den Bruchteil von "n ** 2 * (r-1) / (2 * r)" abgerundete Zahl.
Parameter | Schimmel | Erläuterung |
---|---|---|
n | int | Anzahl der Knoten. |
r | int | Anzahl der nicht verbundenen Teile. 1<=r<=Muss n sein. |
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Die Art des Diagramms, das Sie erstellen möchten |
G=nx.turan_graph(6,3)
plt.cla()
nx.draw_networkx(G)
plt.show()
Der Knoten ist in drei Teile (0,1), (2,3), (4,5) unterteilt. Knoten, die zum selben Teil gehören, werden nicht verkettet.
In der Grafik im Beispiel heißt es: "Drei Paare gingen zu einer Cocktailparty. Am Veranstaltungsort gaben alle Teilnehmern außer sich selbst und ihrem Ehepartner die Hand. Die damalige Beziehung wurde den Teilnehmern genickt. , Welche Art von Grafik würden Sie erhalten, wenn Sie Ihren Handschlag als Kante ausdrücken? ”Ist die Antwort auf die Frage. Daher heißt es "Cocktail Party Graph".
wheel_graph(n, create_using=None)
Gibt ein Diagramm mit n-1 äußeren Knoten zurück, die für einen Hub-Knoten verkettet sind.
Parameter | Schimmel | Erläuterung |
---|---|---|
n | int or iterable | Anzahl der Knoten. |
create_using | NetworkX graph constructor, optional (default=nx.Graph) | Die Art des Diagramms, das Sie erstellen möchten |
Example
G=nx.wheel_graph(10)
plt.cla()
nx.draw_networkx(G)
plt.show()
Es ist ein spärlicher Graph mit einer stark verbundenen Komponente.
margulis_gabber_galil_graph(n, create_using=None)
Gibt ein Margulis-Gabber-Galil-Diagramm zurück. Es ist ein ungerichteter Multiplex-Graph mit einer Knotenreihenfolge von 8. Der zweitgrößte Eigenwert in der benachbarten Matrix dieses Graphen ist $ 5 \ sqrt {2} $. Ein Fehler wird zurückgegeben, wenn das Diagramm nicht gerichtet ist oder mehrere Diagramme.
Parameter | Schimmel | Erläuterung |
---|---|---|
n | int or iterable | Definiert die Anzahl der Knoten. Die Anzahl der Knoten |
create_using | NetworkX graph constructor, optional (default MultiGraph) | Die Art des Diagramms, das Sie erstellen möchten |
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)
Gibt ein geschlossenes Diagramm mit Akkorden zurück (Kanten, die nicht Teil des geschlossenen Diagramms sind, aber zwischen zwei Knoten im geschlossenen Diagramm verbunden sind). Knoten x hat eine Zeichenfolge für Knoten y, die x * y = 1 (mod p) erfüllt. Ein Fehler wird zurückgegeben, wenn das Diagramm nicht gerichtet ist oder mehrere Diagramme.
Parameter | Schimmel | Erläuterung |
---|---|---|
p | prime number | Definiert die Anzahl der Knoten. Muss eine Primzahl sein. |
create_using | NetworkX graph constructor, optional (default MultiGraph) | Die Art des Diagramms, das Sie erstellen möchten |
G=nx.chordal_cycle_graph(7)
pos=nx.circular_layout(G)
plt.cla()
nx.draw_networkx(G,pos)
plt.show()
Social Networks
Es ist ein berühmter Graph für soziale Netzwerke.
karate_club_graph()
Ein Netzwerk von Mitgliedern des Karate Clubs, das vom amerikanischen Sozialpsychologen Zachary befragt wurde. Sie können sehen, dass es in zwei Fraktionen unterteilt ist, die auf Knoten 0 und Knoten 32 und 33 zentriert sind.
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()
Ein Netzwerk von 18 Frauen im Süden der USA, das von Davis et al. In den 1930er Jahren befragt wurde. Dies ist ein zweiteiliges Diagramm, das aus Knoten besteht, die 18 Frauen und 14 teilnehmende Ereignisse darstellen.
A. Davis, Gardner, B. B., Gardner, M. R., 1941. Deep South. University of Chicago Press, Chicago, IL.
florentine_families_graph()
Ehebeziehung einflussreicher Familien wie der Medici-Familie in der Renaissance Florenz.
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()
Es ist eine Grafik der Charaktere im Roman "Les Miserables".
D. E. Knuth, 1993. The Stanford GraphBase: a platform for combinatorial computing, pp. 74-87. New York: AcM Press.
Recommended Posts