Publicado em:

Organogramas com Graphviz

Graphviz é um programa criado pela renomada companhia americana de telecomunicações AT&T . Com ele é possível criar organogramas usando apenas o seu editor de textos favorito. Para baixá-lo, visite o endereço https://www.graphviz.org/download/

Se o seu sistema for Arch Linux, basta digitar o comando:

sudo pacman -S graphviz

A instalação do programa irá prover alguns comandos novos, e os que serão abordados aqui são o dot e o neato. Após a instalação do programa, é hora de ler a documentação que o acompanha, para entender todas as funcionalidades. Essa documentação está instalada no diretório: /usr/share/graphviz/doc

Vamos começar com um exemplo bem simples. Abra seu editor de textos e digite o seguinte texto (ou copie e cole):

digraph {
"Bibliotecária-Chefe" -> "Sub-Chefe";
"Sub-Chefe" -> "Chefes de Seção";
"Chefes de Seção" -> "Bibliotecários";
"Bibliotecários" -> "Estagiários";
}

Repare que os elementos estão entre entre aspas. Isso é necessário pois todas as palavras possuem acentos, espaços ou caracteres especiais. Salve o arquivo com o nome exemplo1.dot. Agora, abra um terminal e digite o seguinte comando:

dot exemplo1.dot -o grafico1.png -T png

Perceba que depois de digitar o comando (dot), nós informamos o arquivo que queremos transformar em uma imagem (o exemplo1.dot). A flag “-o” significa “output”, ou seja, o arquivo de saída. Eu escolhi dar o nome “grafico1.png” mas poderia ter escolhido outro nome qualquer. Devemos também informar o tipo, usando a flag “-T”. Como o arquivo de saída terá a extensão PNG, informaremos: “-T png” . Você obterá a seguinte imagem:

Se você preferir ligar os elementos por traços e não por setas, basta trocar a palavra “digraph” por “graph” e trocar os “->” por “–“. Seu arquivo ficará assim:

graph {
"Bibliotecária-Chefe" -- "Sub-Chefe";
"Sub-Chefe" -- "Chefes de Seção";
"Chefes de Seção" -- "Bibliotecários";
"Bibliotecários" -- "Estagiários"; }

Após rodar o comando descrito mais acima, você obterá a seguinte imagem:

imagem2

Se quiser incrementar os seus gráficos, há diversas opções de formato para os seus balões. Por exemplo:

digraph {
node [shape=box];
"Bibliotecária-Chefe" -> "Sub-Chefe";
"Sub-Chefe" -> "Chefes de Seção";
"Chefes de Seção" -> "Bibliotecários";
"Bibliotecários" -> "Estagiários"; }

Você obterá a seguinte imagem:

imagem3

Para conhecer todas as opções de “shapes”, visite estes links:

Arrow Shapes
Node Shapes

Como já deu para perceber, o padrão é que os elementos sejam exibidos na vertical, de cima para baixo. É possível alterar isso adicionado o a opção “rankdir” ao seu arquivo. Por exemplo, vamos analisar o seguinte código:

digraph {
rankdir = LR
"Bibliotecaria-Chefe" -> "Sub-Chefe";
"Bibliotecaria-Chefe" -> "Chefes de Secao";
"Bibliotecaria-Chefe" -> Bibliotecarios;
"Bibliotecaria-Chefe" -> Auxiliares; }

O valor atribuído ao rankdir foi “LR”, que vem do inglês “from Left to Right” (da esquerda para a direita). Você obterá a seguinte imagem:

imagem4

Para deixar seu gráfico mais bonito, você também pode alterar as cores dos balões a das setas, assim como mudar o tamanho e o tipo das fontes. Veja o seguinte código:

digraph G {
node [fontname=Verdana,fontsize=22]
node [style=filled]
node [fillcolor="#EEEEEE"]
node [color="#CC00EE"] edge [color="#00ff00"]
"Alexandre" -> "Bruna" -> "Érica";
"Alexandre" -> "Moira De Jesus Nome Fictício";
"Alexandre" -> "Cláudia"; "Érica" -> "Mônica";
"Érica" -> "Penélope";
"Moira De Jesus Nome Fictício" -> "Mônica";
"Moira De Jesus Nome Fictício" -> "Penélope";
"Érica" -> Cristina;
}

Você obterá a seguinte imagem:

imagem5

Como já deu para perceber, “node” se refere aos balões, e “edge” se refere às linhas (ou setas) que ligam esses balões. Explicando cada uma das opções:

fontname= é o tipo (ou a família) da fonte usada.
fontsize= é o tamanho da fonte. style= é o estilo usado (“filled” significa preenchido).
fillcolor= é a cor que deve ser usada no preenchimento, em seu código hexadecimal (“#EEEEEE” é um tom de cinza).
color= é a cor do contorno dos balões (“#00ff00” é um tom de rosa).

Você também pode incluir fotos (arquivos de imagens) ao seu gráfico. Veja um exemplo:

imagem6

Analise o código abaixo para você entender como é o procedimento para que sejam incluídas imagens em seu gráfico:

digraph G {
Alexandre [shape=none, label="", image="redondo.png"];
node [fontname=Verdana,fontsize=22]
node [style=filled]
node [fillcolor="#EEEEEE"]
node [color="#CC00EE"]
edge [color="#00ff00"]
"Alexandre" -> "Bruna" -> "Érica";
"Alexandre" -> "Moira De Jesus Nome Fictício";
"Alexandre" -> "Cláudia";
"Érica" -> "Mônica";
"Érica" -> "Penélope";
"Moira De Jesus Nome Fictício" -> "Mônica";
"Moira De Jesus Nome Fictício" -> "Penélope";
"Érica" -> Cristina; }

Como pudemos constatar neste breve tutorial, vale a pena aprender a usar o Graphviz, pois com ele podemos gerar gráficos perfeitos e profissionais, com muito pouco esforço.

Compartilhar: