Wykresy GraphViz

   

Ten dokument opisuje tworzenie wykresów w usłudze GraphViz za pomocą interfejsu Chart API.

Omówienie

GraphViz to pakiet narzędzi open source do wizualizacji wykresów połączeń. Wykresy w GraphViz możesz tworzyć w języku DOT i za pomocą wybranych mechanizmów układu.

Wykresy w GraphViz obsługują inny zestaw wymaganych parametrów. Oto obsługiwane parametry:

Parametr Wymagany czy opcjonalny Opis
cht=gv[:<opt_engine>] Wymagany

Określa wykres GraphViz. Opcjonalnie możesz określić silnik GraphViz. Jeśli chcesz określić mechanizm układów, wstaw znak średnika: i podaj jeden z tych ciągów znaków dla <opt_engine>:

  • dot – mechanizm domyślny
  • neato
  • twopi
  • circo
  • fdp

Opis tych różnych wyszukiwarek znajdziesz na stronie GraphViz.

chs=<width>x<height> Opcjonalnie Jeśli nie określisz rozmiaru, rozmiar wykresu zostanie automatycznie dostosowany.
chl=<DOT_string> Wymagany Wykres do narysowania w notacji języka DOT. Informacje o języku DOT znajdziesz na stronie GraphViz.
chd NIE WYKORZYSTANA Kody w GrafViz są nietypowe, ponieważ parametr chd jest ignorowany. Nie podawaj jej w adresie URL.
chof=<output_format> Opcjonalnie Format wyjściowy wykresu. W opisie parametru dowiesz się, które formaty wyjściowe są obsługiwane. Jeśli podasz chof=json, otrzymasz reprezentację wykresu w formacie JSON jako mapę obrazu HTML, której możesz użyć do dodawania linków lub interaktywności do wykresu. Więcej informacji znajdziesz w artykule Tworzenie mapy obrazu wykresu.
callback=<handling_function_name> Opcjonalnie Jeśli podasz chof=json, możesz też określić funkcję, która ma być wywoływana za pomocą zwróconego pliku JSON zawierającego mapę obrazu wykresu. Twoja funkcja musi akceptować pojedynczy parametr JSON, który będzie reprezentować wykres w formacie JSON. Strona może wtedy określić wykres jako element <img> umożliwiający renderowanie wykresu, a także wywołać ten sam adres URL za pomocą metody chof=json&callback=somefunc oraz użyć funkcji somefunc(), która przeanalizuje zwrócony plik JSON i doda linki lub kartę interaktywną.

 

Przykłady:

Opis Przykład

przykład wyszukiwarki wykorzystującej kropki (domyślnie).

wykres punktowy
cht=gv
chl=digraph{A->B->C->A}
chs=150x150

przykładu tego samego wykresu w wyszukiwarce Neato. wykres neato
cht=gv:neato
chl=digraph{A->B->C->A}
chs=150x150
Wykres punktowy bez określonego rozmiaru. Rozmiar wykresu jest ustalany automatycznie. wykres punktowy bez określonego rozmiaru
cht=gv
chl=graph{a--b--c;b--d}
Bardziej złożony wykres. Bardziej atrakcyjny wykres punktowy
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]}

Oto kilka wskazówek i znanych ograniczeń dotyczących bieżących wykresów GraphViz:

  • Nie należy używać atrybutu size graph. Zamiast niego użyj parametru interfejsu Chart API chs.
  • Maksymalna liczba węzłów to 200, a maksymalna liczba krawędzi – 400.
  • Antyaliasing, przezroczystość i czcionki alternatywne nie są obsługiwane.
  • Atrybuty node image i shapefile nie są obsługiwane i będą powodować błąd.
  • Atrybuty graph ratio, margin i pad nie są obsługiwane i będą ignorowane.