2010-06-30 12 views
5

Podczas tworzenia oprogramowania okresowo spotykam się z koniecznością narysowania wykresów na własny użytek. Czasami ilustrują relacje w DB, czasami ilustrują relacje plików lub klas kodu, innym razem są inne obiekty ... W każdym razie podstawowe potrzeby są takie same - mam kilka końcówek, które chciałbym mieć. układać starannie, dodawać informacje o kolorach/tekstach/stylach i ewentualnie wydrukować je na końcu (w razie potrzeby na kilku stronach).Jakie są dobre narzędzia do układania, edycji i rysowania wykresów?

Czy istnieje narzędzie, które pozwoli mi to łatwo zrobić? Funkcje, których można się spodziewać:

  • Importuj podstawowe informacje o węźle/krawędzi z pliku (surowe dane, które wydobyłem z DB/code/cokolwiek);
  • Automatycznie rozmieść niektóre lub wszystkie węzły na wykresie;
  • Umożliwia ręczną zmianę położenia węzłów i krawędzi;
    • Funkcje manipulowania grupą węzłów (relayout, rotate, scale) również byłyby bardzo ładne;
  • Możliwość manipulowania wizualnymi aspektami obrazu - zmiana linii, kolorów i czcionek; dodawać dowolne teksty i obrazy (ewentualnie dołączając je do węzłów/krawędzi);
  • Możliwość modyfikacji zawartości węzła (czasami potrzebuję tylko prostego tekstu, czasem jest to mały stolik, czasem jest to lista wypunktowana, itp.)
  • Zapisywanie/ładowanie/drukowanie (w tym na kilku stronach z nakładającymi się obszarami do sklejania razem)/eksport do obrazu (zarówno wektorowy, jak i rastrowy z wygładzaniem).

Dodano:Here jest przykładowy wykres Próbowałem wyobrazić ostatnio. Chciałbym uzyskać użyteczny układ, który wymaga minimalnego ulepszenia, zanim będzie można go wydrukować.

Odpowiedz

3

Graphviz to popularny od dawna. Bardzo podoba mi się silnik układowy yEd, który zasilam danymi GML (ale obsługuje on inne formaty).

+1

Dobra odpowiedź i pytanie, to naprawdę przydatne ... Bardzo podoba mi się układ drugiego, zbyt piękny! –

+0

Właśnie wypróbowałem je oba na małym wykresie zależności plików PHP (który plik zawiera który plik). Było około 130 plików (z których połowa była niezależna) i mniej więcej tyle samo zależności. Graphviz praktycznie ustawił je wszystkie, tworząc niezwykle szeroki/wysoki wykres. YEd był trochę lepszy, ale wciąż nie zbliżył się do niczego użytecznego. Spodziewałbym się czegoś lepszego. –

+1

Myślę, że YD ma różne typy układów, może wypróbujesz kilka? – Mau

1

Możesz użyć Cytoscape, to narzędzie do wizualizacji wykresów. Podoba mi się wymuszony skierowany rozkład.

1

znajdę Gephi bardzo miły, głównie z dwóch zadań:

  1. Przeglądając wykres, czyli ukrywanie niektóre części, ruchome węzły, starając się zrozumieć jego właściwości, grając z nim.
  2. Renderowanie go w celu wyeksportowania do prezentacji lub artykułu?

Dostępne są ładne algorytmy układu i można łatwo zainstalować wtyczki z poziomu narzędzia.

Jeśli Twoim celem jest uzyskanie czytelnej i czytelnej reprezentacji wykresu, możesz rozważyć użycie wykresów ula . Opis, przykłady i narzędzia są dostępne pod adresem this page. Podstawową ideą jest zastosowanie metody deterministycznej (w przeciwieństwie do układów siłowych) do umieszczenia węzłów, w oparciu o kilka atrybutów lub miary topologiczne.Uzyskana reprezentacja pozwala na wydajne porównywanie różnych wykresów lub nawet tego samego wykresu z różnych perspektyw.

Powiązane problemy