Directorio de artículos
la experiencia de hoy
Sin mencionar la experiencia, pero aprender la biblioteca Graphviz tiene un viaje que hace que la gente ría y llore.
Recientemente comencé a hacer diseño de clases, el tema es la codificación de Huffman, me preguntaba si había alguna forma de imprimir la estructura de un árbol (de hecho, hubo un experimento que requería imprimir el árbol, pero no fue posible) en ese momento), por casualidad encontré un blog que mencionaba la biblioteca Graphviz, así que lo miré y descubrí que puede imprimir varias formas y diagramas de flujo, y estaba tan emocionado que me quedé atónito.
Así que inmediatamente instalé graphviz, la biblioteca se descarga rápidamente, pero no puedo dibujar la imagen de todos modos. Después de casi una hora de lanzar, descubrí en un blog del hermano mayor que necesito agregar graphviz a la variable de entorno. ... En resumen,
aunque, cuando surge un problema, la mentalidad se rompe bastante, pero en el momento en que se resuelve el problema, ¡soy realmente feliz!
instalación y configuración de graphviz
Vaya al sitio web oficial para descargar : https://graphviz.org/download/
(La versión básicamente no afecta el uso, solo se puede usar cualquiera)
Después de la descarga, habrá un proceso de instalación, todo lo siguiente es suficiente, ¡recuerde verificar para agregar PATH ! ! !
Si no está marcado, recuerde agregarlo manualmente a la ruta de la variable de entorno, de lo contrario, tendrá mala suerte como yo.
Además, después de agregar la variable de entorno, debe reiniciar el compilador , de lo contrario, es inútil.
Después de unirse se ve así:
punto y gráfico
punto
dot es un lenguaje de descripción gráfica de texto. El archivo .dot escrito puede ser procesado en una imagen por la máquina y, por lo general, puede generar .png, .jpg, .pdf y otros formatos.
gráficoviz
graphviz es una biblioteca de código abierto de python, y se incluyen varias operaciones de punto en graphviz.
graphviz se puede utilizar para dibujar diagramas de flujo simples.
En mi opinión, es muy conveniente dibujar árboles y gráficos de estructuras de datos.
dibujo
paso 1: importar la biblioteca de graphviz
from graphviz import Digraph # 导入graphviz库
paso: crear una tabla
dot = Digraph(name, comment)
añadir punto
dot.node(name, label)
Crear bordes entre puntos
dot.edge(tail_name, head_name, label)
dibujo de salida
dot.view()
Generar archivos de imagen
print(dot.source)
render(filename=None, directory=None, view=False, cleanup=False)
# 参数分别为文件名、文件保存路径、是否用默认程序打开渲染效果、是否在渲染后删除源文件
muestra
from graphviz import Digraph # 导入graphviz库
dot = Digraph("lmy's table", comment='The Test Table') # 创建一个表
dot.node('A', 'Dot A') # 添加一个点,点的名称为'Dot A'
dot.node('B', 'Dot B')
dot.node('C', 'Dot C')
dot.node('D', 'Dot D')
dot.edges(['AD', 'AC', 'BC']) # 两点间创建边
dot.edge('B', 'C', 'test')
# dot.view(),此函数可以实时看到你画的图
# 获取DOT source源码的字符串形式
print(dot.source)
# // The Test Table
# digraph {
# A [label="Dot A"]
# B [label="Dot B"]
# C [label="Dot C"]
# A -> B
# A -> C
# A -> B
# B -> C [label=test]
# }
# 保存source到文件,并提供Graphviz引擎
dot.render('test-output/lmy.gv', view=True)
Resultado en ejecución:
puede ver que se genera un archivo pdf