Ich glaube, ich habe Graphviz, ein Tool, das Text in Diagramme konvertiert, aus Python3 verwendet, um eine Baumstruktur zu zeichnen.
Graphviz ist ein Tool, das Text in ein Diagramm mit einem eindeutigen Format namens .dot konvertiert.
sample.dot
digraph {
node [shape=circle]
A [label=A]
B [label=B]
C [label=C]
A -> B
A -> C
}
Das folgende Diagramm kann aus dem obigen Beispiel gezogen werden.
Dieses Mal habe ich dieses Graphviz aus Python3 verwendet, um eine Baumstruktur zu zeichnen.
Installieren Sie zuerst Graphviz mit Brew
$brew install graphviz
$dot -V
>>> dot - graphviz version 2.38.0 (20140413.2041)
Installieren Sie graphviz mit pip
graphviz ist ein Paket, das Graphviz so umschließt, dass es von Python aus verwendet werden kann.
$pip install graphviz
Als ähnliches Paket gibt es pygraphviz, das mit networkx verknüpft werden kann, dies ist jedoch nicht mit Python3 kompatibel. .. ..
Schreiben wir als Beispiel eine Dichotomie.
binary_tree.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from graphviz import Digraph
#Geben Sie png für das Format an(Andere PDF, PNG,SVG usw. kann angegeben werden)
G = Digraph(format='png')
G.attr('node', shape='circle')
N = 15 #Anzahl der Knoten
#Knoten hinzufügen
for i in range(N):
G.node(str(i), str(i))
#Kante hinzufügen
for i in range(N):
if (i - 1) // 2 >= 0:
G.edge(str((i - 1) // 2), str(i))
# print()Dann wird es im Punktformat ausgegeben
print(G)
# binary_tree.Als PNG speichern
G.render('binary_tree')
Ausgabeergebnis
Recommended Posts