馃尶 Pydot Cheat Sheet

馃搫 Reposit贸rio Oficial do Pydot (GitHub)

# Comando / Fun莽茫o / Par芒metro O que faz Exemplo
1pip install pydotInstala莽茫o da biblioteca via PIP!pip install pydot
2import pydotImporta a biblioteca principalimport pydot
3pydot.Dot()Cria um novo objeto de grafograph = pydot.Dot()
4graph_type='graph'Define o grafo como n茫o direcionadopydot.Dot(graph_type='graph')
5graph_type='digraph'Define o grafo como direcionado (padr茫o)pydot.Dot(graph_type='digraph')
6pydot.Node()Cria um novo n贸node = pydot.Node("A")
7graph.add_node()Adiciona um n贸 ao grafograph.add_node(node)
8name=Define o identificador do n贸pydot.Node(name="Inicio")
9label=Texto vis铆vel dentro do n贸node.set_label("Meu N贸")
10shape='box'Define o formato do n贸 como caixanode.set_shape('box')
11shape='circle'Define o formato como c铆rculonode.set_shape('circle')
12shape='ellipse'Define o formato como elipsenode.set_shape('ellipse')
13shape='diamond'Define o formato como diamantenode.set_shape('diamond')
14style='filled'Preenche o interior do n贸node.set_style('filled')
15fillcolor=Cor de preenchimento do n贸node.set_fillcolor('lightblue')
16color=Cor da borda do n贸node.set_color('red')
17fontcolor=Cor do texto do n贸node.set_fontcolor('blue')
18fontsize=Tamanho da fonte do n贸node.set_fontsize(12)
19pydot.Edge()Cria uma conex茫o entre dois n贸sedge = pydot.Edge("A", "B")
20graph.add_edge()Adiciona a aresta ao grafograph.add_edge(edge)
21label=Adiciona texto 脿 linha da arestaedge.set_label("conex茫o")
22color=Define a cor da linha da arestaedge.set_color('green')
23arrowhead=Estilo da ponta da setaedge.set_arrowhead('vee')
24arrowsize=Tamanho da ponta da setaedge.set_arrowsize(2)
25style='dashed'Linha da aresta tracejadaedge.set_style('dashed')
26style='dotted'Linha da aresta pontilhadaedge.set_style('dotted')
27penwidth=Espessura da linha da arestaedge.set_penwidth(2.5)
28dir='both'Dire莽茫o da seta (both, forward, back, none)edge.set_dir('both')
29graph.write_raw()Salva o c贸digo DOT puro em arquivograph.write_raw('file.dot')
30graph.write_png()Exporta o grafo como imagem PNGgraph.write_png('output.png')
31graph.write_pdf()Exporta o grafo como PDFgraph.write_pdf('output.pdf')
32graph.write_svg()Exporta o grafo como vetor SVGgraph.write_svg('output.svg')
33graph.write_jpg()Exporta o grafo como imagem JPGgraph.write_jpg('output.jpg')
34graph.to_string()Retorna a representa莽茫o DOT em stringprint(graph.to_string())
35pydot.graph_from_dot_file()L锚 um arquivo .dot e cria um objetog = pydot.graph_from_dot_file('in.dot')
36pydot.graph_from_dot_data()Cria grafo a partir de string DOTg = pydot.graph_from_dot_data(data)
37rankdir='LR'Orienta莽茫o Esquerda para Direitagraph.set_rankdir('LR')
38rankdir='TB'Orienta莽茫o Cima para Baixo (Padr茫o)graph.set_rankdir('TB')
39bgcolor=Cor de fundo do grafograph.set_bgcolor('ivory')
40label=T铆tulo global do grafograph.set_label('Meu Fluxograma')
41labelloc='t'Posi莽茫o do t铆tulo (t: topo, b: base)graph.set_labelloc('t')
42nodesep=Espa莽o entre n贸s em polegadasgraph.set_nodesep(0.5)
43ranksep=Espa莽o entre n铆veis do grafograph.set_ranksep(1.0)
44splines='ortho'Arestas em 芒ngulos retosgraph.set_splines('ortho')
45concentrate=TrueMescla arestas paralelas em umagraph.set_concentrate(True)
46pydot.Cluster()Cria um grupo de n贸s (caixa visual)cluster = pydot.Cluster('c1')
47graph.add_subgraph()Adiciona um subgrafo ao principalgraph.add_subgraph(cluster)
48label=R贸tulo do clustercluster.set_label('M贸dulo A')
49graph.get_nodes()Retorna lista de todos os n贸snodes = graph.get_nodes()
50graph.get_edges()Retorna lista de todas as arestasedges = graph.get_edges()
51graph.get_node()Busca um n贸 espec铆fico pelo nomen = graph.get_node('A')[0]
52graph.get_subgraphs()Retorna lista de subgrafossubs = graph.get_subgraphs()
53graph.del_node()Remove um n贸 do grafograph.del_node('A')
54graph.del_edge()Remove uma aresta espec铆ficagraph.del_edge('A', 'B')
55shape='plaintext'N贸 sem bordas, apenas textonode.set_shape('plaintext')
56fixedsize=TrueFor莽a o tamanho fixo do n贸node.set_fixedsize(True)
57width=Largura do n贸node.set_width(1.5)
58height=Altura do n贸node.set_height(0.5)
59peripheries=N煤mero de bordas conc锚ntricasnode.set_peripheries(2)
60tooltip=Texto ao passar o mouse (SVG/HTML)node.set_tooltip('Dica')
61constraint='false'Aresta n茫o afeta o layout do rankingedge.set_constraint('false')
62weight=Peso da aresta (import芒ncia no layout)edge.set_weight(10)
63minlen=Comprimento m铆nimo da arestaedge.set_minlen(2)
64headlabel=R贸tulo pr贸ximo 脿 ponta da setaedge.set_headlabel('fim')
65taillabel=R贸tulo pr贸ximo ao in铆cio da setaedge.set_taillabel('inicio')
66labeldistance=Dist芒ncia dos r贸tulos auxiliaresedge.set_labeldistance(3)
67labelangle=脗ngulo dos r贸tulos auxiliaresedge.set_labelangle(45)
68fontname=Define a fam铆lia da fontenode.set_fontname('Arial')
69color='transparent'Torna a borda invis铆velnode.set_color('transparent')
70colorscheme=Usa esquemas de cores pr茅-definidosnode.set_colorscheme('spectral9')
71pydot.__version__Verifica a vers茫o instaladapydot.__version__
72pydot.find_graphviz()Tenta localizar os bin谩rios do Graphvizpydot.find_graphviz()
73graph.create_png()Retorna bytes da imagem PNG em mem贸riaimg_bytes = graph.create_png()
74graph.create_dot()Retorna bytes do formato DOTdot_bytes = graph.create_dot()
75prog='dot'Usa o motor de layout DOTgraph.write_png('f.png', prog='dot')
76prog='neato'Usa motor de layout de molagraph.write_png('f.png', prog='neato')
77prog='fdp'Layout para grafos n茫o direcionadosgraph.write_png('f.png', prog='fdp')
78prog='sfdp'Layout para grafos gigantesgraph.write_png('f.png', prog='sfdp')
79prog='twopi'Layout radialgraph.write_png('f.png', prog='twopi')
80prog='circo'Layout circulargraph.write_png('f.png', prog='circo')
81node.get_attributes()Retorna dicion谩rio de atributos do n贸attrs = node.get_attributes()
82edge.get_source()Retorna o nome do n贸 de origemsrc = edge.get_source()
83edge.get_destination()Retorna o nome do n贸 de destinodst = edge.get_destination()
84graph.set_type()Muda tipo para 'graph' ou 'digraph'graph.set_type('graph')
85pydot.quote_if_necessary()Escapa strings para sintaxe DOTpydot.quote_if_necessary('N贸 1')
86comment=Adiciona coment谩rio no arquivo DOTgraph.set_comment('Gerado via Python')
87overlap='false'Evita sobreposi莽茫o de n贸s (layouts n茫o-dot)graph.set_overlap('false')
88ratio='fill'Ajusta propor莽茫o da imagemgraph.set_ratio('fill')
89size="10,10!"For莽a tamanho m谩ximo da imagem finalgraph.set_size("10,10!")
90charset="UTF-8"Define codifica莽茫o de caracteresgraph.set_charset("UTF-8")
91pydot.call_graphviz()Chamada direta de baixo n铆vel ao Graphvizpydot.call_graphviz('dot', ...)