dibujo de python graphviz

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í:
Por favor agregue una descripción de la imagen

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
inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/qq_52109814/article/details/122147768
Recomendado
Clasificación