Gráficos GraphViz

   

Este documento descreve como criar gráficos GraphViz usando a API de gráficos do Google.

Visão geral

O GraphViz é um pacote de ferramentas de código aberto para a visualização de gráficos de conectividade. É possível criar gráficos GraphViz usando a linguagem DOT e os mecanismos de layout que você quiser.

Os gráficos GraphViz suportam um conjunto diferente de parâmetros obrigatórios. Veja os parâmetros compatíveis:

Parâmetro Obrigatório ou opcional Descrição
cht=gv[:<opt_engine>] Obrigatório

Especifica um gráfico GraphViz. Também é possível especificar um mecanismo GraphViz. Se você quiser especificar um mecanismo de layout, inclua o ponto e vírgula e especifique uma das seguintes strings para <opt_engine>:

  • dot: o mecanismo padrão.
  • neato
  • twopi
  • circo
  • fdp

Consulte o site do GraphViz para ver uma descrição desses diferentes mecanismos.

chs=<width>x<height> Opcional Se você não especificar um tamanho, o gráfico será dimensionado automaticamente.
chl=<DOT_string> Obrigatório O gráfico a ser desenhado, na notação da linguagem DOT. Consulte a referência da linguagem DOT (em inglês) no site do GraphViz.
chd NÃO USADO Uma peculiaridade dos códigos do GraphViz é que o parâmetro chd é ignorado. Não inclua essa informação no seu URL.
chof=<output_format> Opcional Um formato de saída para o gráfico. Consulte a descrição do parâmetro para saber quais formatos de saída são compatíveis. Se você especificar chof=json, vai receber uma representação JSON do gráfico como mapa de imagem HTML, que pode ser usado para adicionar links ou interatividade ao gráfico. Consulte Como criar um mapa de imagem de gráfico para mais detalhes.
callback=<handling_function_name> Opcional Se você especificar chof=json, também poderá especificar uma função para chamar com o JSON retornado, que inclui o mapa de imagem do gráfico. A função precisa aceitar um único parâmetro JSON, que será uma representação JSON do gráfico. Sua página pode especificar o gráfico como um elemento <img> para renderizar o gráfico e também chamar o mesmo URL com chof=json&callback=somefunc e incluir uma função chamada somefunc(), que analisará o JSON retornado e adicionará links ou interatividade.

 

Exemplos:

Descrição Exemplo

exemplo de mecanismo dot (padrão).

gráfico dot
cht=gv
chl=digraph{A->B->C->A}
chs=150x150

exemplo de mecanismo neato do mesmo gráfico. gráfico neato
cht=gv:neato
chl=digraph{A->B->C->A}
chs=150x150
Um gráfico dot, sem especificação de tamanho. O gráfico é dimensionado automaticamente. Gráfico dot, sem tamanho especificado
cht=gv
chl=graph{a--b--c;b--d}
Um gráfico mais complexo. Gráfico dot mais elaborado
cht=gv
chl=
  graph{C_0--H_0[type=s];C_0--H_1[type=s];C_0--H_2[type=s];C_0--C_1[type=s];C_1--H_3[type=s];C_1--H_4[type=s];C_1--H_5[type=s]}

Veja algumas dicas e limitações conhecidas dos gráficos GraphVize:

  • O atributo graph size não deve ser usado. Em vez dele, use o parâmetro chs da API Chart.
  • O número máximo de nós é 200 e o máximo para bordas é 400.
  • Fontes alternativas, com suavização de serrilhado e transparência não são suportadas.
  • Os atributos node image e shapefile não são compatíveis e resultarão em erro, se houver.
  • Os atributos graph ratio, margin e pad não têm suporte e serão ignorados se estiverem presentes.