[PYTHON] Zeichnen Sie mit networkx ein Diagramm

= Ich habe ein Diagramm mit Networkx von Python erstellt

make_graph.py



# -*- encoding:utf-8 -*-

import networkx
import pylab
from matplotlib import font_manager
from itertools import combinations
from random import randint

#Ein Diktat, dessen Schlüssel der Knoten und die Liste der Knoten mit Kanten ist, ist der Wert
vector = {}
persons = [u"Tanaka", u"Suzuki", u"Yamada", u"Kimura", u"Yoshioka"]
edge_labels = {}

for person in persons:
    # defaultdict(list)Führen Sie stattdessen einen Knoten aus
    vector[person] = []

for man_pair in combinations(persons, 2):
    man1, man2 = man_pair
    #Preis die Kanten entsprechend
    r = randint(1, 10)
    if r % 2:
        continue
    else:
        vector[man1].append(man2)
        edge_labels[(man1, man2)] = r

graph = networkx.Graph(vector)  #Ungerichtete Grafik
# graph = network.DiGraph(vector)  #Gerichteter Graph(to_Kann mit ungerichtetem Diagramm in ein ungerichtetes Diagramm konvertiert werden.
pylab.figure(figsize=(3, 4))  #Machen Sie es 3 cm breit und 4 cm lang
pos = networkx.spring_layout(graph)  #Plot schön
# pos = networkx.random_layout(graph)Auf jeden Fall können Sie mit hoher Geschwindigkeit zeichnen



#Schriftart ändern (Schriftart_Pfad entsprechend ändern)
font_path = "/usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf"
font_prop = font_manager.FontProperties(fname=font_path)
networkx.set_fontproperties(font_prop)

#Optimiere den Look
networkx.draw_networkx_nodes(graph, pos, node_size=100, node_color="w")
networkx.draw_networkx_edges(graph, pos, width=1)
networkx.draw_networkx_edge_labels(graph, pos, edge_labels=edge_labels)
networkx.draw_networkx_labels(graph, pos, font_size=16, font_color="r")

pylab.xticks([])
pylab.yticks([])

pylab.show()
pylab.savefig("graph_networkx.png ")

Hier kann Japanisch nur angezeigt werden, wenn die Version von networkx 1.5 oder höher ist. Wahrscheinlich

ValueError: matplotlib display text must have all code points < 128 or use Unicode strings

Ich denke, Sie werden den Fehler bekommen. Bitte wenden Sie den Patch hier auf networkx / draw / nx_pylab.py an, um Japanisch anzuzeigen.

Ergebnis

So was

graph_networkx.png

*** Referenz http://d.hatena.ne.jp/nishiohirokazu/20111121/1321849806 http://antibayesian.hateblo.jp/entry/20110828/1314491180

Recommended Posts

Zeichnen Sie mit NetworkX ein Diagramm
Zeichnen Sie mit networkx ein Diagramm
Zeichne ein Diagramm mit Julia + PyQtGraph (2)
Zeichnen Sie mit matplotlib ein loses Diagramm
Zeichne ein Diagramm mit Julia + PyQtGraph (1)
Zeichne ein Diagramm mit Julia + PyQtGraph (3)
Zeichnen Sie ein Diagramm mit Pandas + XlsxWriter
Zeichnen Sie ein Diagramm mit der PySimple-Benutzeroberfläche
Zeichnen Sie ein Diagramm mit PyQtGraph Part 1-Drawing
Zeichnen Sie eine flache Oberfläche mit einem Matplotlib-3D-Diagramm
Zeichnen Sie in Jupyter ein Diagramm mit japanischen Beschriftungen
So zeichnen Sie ein 2-Achsen-Diagramm mit Pyplot
Zeichnen Sie ein Diagramm mit den PyQtGraph Part 3-PlotWidget-Einstellungen
[Python] Zeichnen Sie mit Dash Cytoscape ein gerichtetes Diagramm
Zeichnen Sie ein Diagramm mit den Einstellungen von PyQtGraph Part 4-PlotItem
Zeichnen Sie ein Diagramm mit PyQtGraph Teil 6 - Anzeigen einer Legende
Zeichnen Sie mit PyQtGraph Teil 5 ein Diagramm. Erhöhen Sie die Y-Achse
[Python] Zeichnen Sie ein Qiita-Tag-Beziehungsdiagramm mit NetworkX
[Python] Wie zeichnet man mit Matplotlib ein Liniendiagramm?
Zeichnen Sie ein Diagramm mit PyQtGraph Teil 2 - Detaillierte Ploteinstellungen
Zeichne einen schönen Kreis mit Numpy
Lassen Sie uns ein Diagramm mit Python erstellen! !!
Machen Sie eine schöne Grafik mit Plotly
NetzwerkX-Diagramm mit graphviz ausgeben (PyGraphviz)
Zeichnen Sie einfach eine Karte mit matplotlib.basemap
Mathematik mit Python studieren: Zeichnen Sie mit matplotlib ein Sympy-Diagramm (Scipy-Diagramm)
[Visualisierung] Ich möchte mit Plotly ein schönes Diagramm zeichnen
[PyQt] Mehrachsendiagramme mit QtChart anzeigen
So zeichnen Sie ein Diagramm mit Matplotlib
Zeichne mit PyCall ein Herz in Ruby
Zeichnen Sie ein Mandelbrot-Set mit Brainf * ck
Zählen Sie mit NetworkX den maximal verketteten Teil eines zufälligen Diagramms
Erstellen Sie mit NetworkX einen verbindenden nächsten Nachbarn
Zeichnen Sie einfach ein Diagramm, indem Sie eine Datei angeben
Erstellen Sie ein Diagramm mit Rändern, die mit matplotlib entfernt wurden
So zeichnen Sie mit matplotlib ein Balkendiagramm, das mehrere Serien zusammenfasst
Zeichnen Sie in Python ein Diagramm einer quadratischen Funktion
So zeichnen Sie vor der Optimierung ein 3D-Diagramm
Zeichnen Sie eine "Boobs-Kurve" in einem 3D-Diagramm (1).
Memo, mit dem ein Diagramm zum Plotten animiert wurde
Versuchen Sie, mit Python eine Lebenskurve zu zeichnen
[Python] Zeichne eine Mickey Mouse mit Turtle [Anfänger]
Ich habe mit Numpy eine Grafik mit Zufallszahlen erstellt
Zeichnen Sie mehrere Fotos in einem Diagramm aus mehreren Ordnern
NetworkX-Memo (gerichtete Grafik)
A4 Größe mit Python-Pptx
Banddiagramm mit Matplotlib
NetworkX-Grafikgeneratorliste
Mit Dekorateur dekorieren
Zeichnen Sie ein Diagramm mit Python
Zeichne ein Diagramm mit Julia ... Ich habe eine kleine Analyse versucht
Visualisieren Sie mit Cytoscape 2 Eisenbahnstreckendaten als Grafik
Zeichnen Sie gewaltsam so etwas wie ein Flussdiagramm mit Python, matplotlib
Beachten Sie, dass es ein Versionsproblem mit networkx gab
[Python] Wie zeichnet man mit Matplotlib ein Streudiagramm?
Zeichnen Sie die Bezier-Kurve mit Go
Erstellen Sie eine partielle Korrelationsmatrix und zeichnen Sie ein unabhängiges Diagramm
Zeichnen Sie Excel-Daten mit matplotlib (1)
Lernen Sie Librosa mit einem Tutorial 1