Biblioteka grafów .NET? [Zamknięte]

92

Szukam bibliotek Graph dla .net. Czy są jakieś?

ps: Mam na myśli biblioteki GRAPH, a nie biblioteki grafiki ani wykresów!

edytuj: Mam na myśli wykresy, z teorii grafów: (źródło: sourceforge.net )tekst alternatywny

Potrzebuję go również do rysowania.

pożarł elizjum
źródło
Może mogłoby się przydać: github.com/komorra/NodeEditorWinforms
komorra
Link do zdjęcia wydaje się być uszkodzony (teraz przekierowuje do czegoś innego)
UuDdLrLrSs,

Odpowiedzi:

44

Użyj kombinacji QuickGraph ( GitHub , CodePlex ) i Graph # for WPF ( GitHub fork , CodePlex ) - obie najlepsze biblioteki. U mnie działają naprawdę dobrze, ale dokumentacja dla Graph # prawie nie istnieje.

Matt Breckon
źródło
16

Pracuję w zespole NDepend i przeszliśmy z GraphViz na MsAgl ( Microsoft Automatic Graph Layout ) we wrześniu 2008. Licencja MsAgl umożliwia komercyjne wykorzystanie. Oto kilka przykładowych zdjęć wykresów MsAgl zintegrowanych z NDepend (wszystko jest interaktywne, węzły są ruchome / wybieralne / usuwalne / klikalne, krawędzie są edytowalne / wybieralne / wymienne / klikalne, układ można powiększać, a także, chociaż mógłby być bardziej przejrzysty API MsAgl jest wystarczająco czyste, aby z nim pracować):

wprowadź opis obrazu tutaj wprowadź opis obrazu tutaj wprowadź opis obrazu tutaj

Patrick z zespołu NDepend
źródło
Może również grać z AGL na Rise4fun.com/Agl i zobaczyć wykresy innych osób na Rise4fun.com/rest/samples/rss/Agl
George Birbilis
2
Zwróć uwagę, że MSAGL jest teraz OpenSource na licencji MIT na GitHub: github.com/Microsoft/automatic-graph-layout i wydaje się, że jest utrzymywany, ponieważ pewna poprawka do wersji Silverlight została niedawno wypchnięta
George Birbilis
Jeśli chodzi o wypróbowanie AGL na stronie Rise4Fun, o której wspomniałem, być może jest to prosta opcja do burzy mózgów, ale wpisujesz tam tylko wykres w formie tekstowej, a etykiety, których używasz dla węzłów, są używane jako identyfikatory w tej składni tekstu, więc myślę, że ty nie może mieć węzła z tą samą etykietą (np. Dom) w dwóch miejscach na wykresie. Wydaje się, że możesz również użyć etykiet dla krawędzi wykresu (dla linków), używając składni pokazanej na Rise4fun.com/Agl/fsm (naciśnij przycisk PLAY, a następnie przewiń w dół, aby zobaczyć, jaki wykres jest generowany)
George Birbilis
Skąd mogę pobrać stabilną wersję binarną? Nie chcę tworzyć każdego źródła o nieznanej jakości.
Thomas Weller
Myślę, że tutaj github.com/Microsoft/automatic-graph-layout nie jestem pewien, czy uwzględniono wersję binarną
Patrick z zespołu NDepend
12

Twój poprzedni post został usunięty, postaram się udzielić bardziej złożonej odpowiedzi na pytanie. Najwyższa odpowiedź nie jest już całkiem aktualna, ponieważ biblioteka Graph # jest mocno przestarzała.

Polecam sprawdzić kombinację GraphX i Quickgraph . GraphX ​​jako silnik renderujący i Quickgraph jako składnik zarządzania wykresami i operacji matematycznych.

Biblioteka GrpahX jest zakodowana dla WPF 4.0 i METRO. Zapewnia wiele funkcji, których brakuje w Graph #:

  • Poprawiona wydajność renderowania dużych wykresów
  • Obsługa routingu brzegowego i grupowania, wiele innych opcji brzegowych
  • Ulepszona kontrola powiększenia, która obsługuje okno przeglądu i wybór wielu wierzchołków
  • Bogata dokumentacja i próbki

Również GraphX ​​obsługuje wszystkie oryginalne algorytmy układu z Graph #. Jeśli masz jakieś pytania, odwiedź http://panthernet.ru/forum !

Alexander Smirnov
źródło
Łącze GraphX ​​nie działa.
xabush
Nie, właśnie miałem poważne problemy z wirusami na hostingu. Fora są online.
Alexander Smirnov
9

Jest QuickGraph , działa całkiem nieźle i ma większość podstawowych algorytmów.

Doug McClean
źródło
Ładnie, ale wydaje się, że nie jest w stanie narysować wykresów.
pożarł elysium
2
Prawdziwe. Odniosłem wrażenie, że pytasz o obliczanie wykresów zamiast ich rysowania. Jednak generuje dane w formatach używanych przez kilka różnych narzędzi renderujących.
Doug McClean,
5

Spójrz na yWorks: http://www.yworks.com/en/index.html

Z tego, co widziałem, nie ma tam wielu dobrych bibliotek.

TAK JAK
źródło
1
Wydaje się super, ale 7k dla biblioteki to… za dużo dla mnie.
pożarł elysium
o dziwo, jest to jedna z tańszych opcji!
JAKO
1
To 7k, ale kiedykolwiek bawiłem się lepiej z API niż z bibliotekami yWorks .NET i WPF.
Matthew Ruston
5

Możesz użyć interfejsu API NodeXL firmy Microsoft Research pod adresem : http://www.codeplex.com/NodeXL, ale podobne pytanie zostało zadane pod adresem : /programming/44090/do-you-know-any -graph-visualization-libraries-for-net /

DrDee
źródło
Brzmi nieźle, ale z tego, co widziałem teraz na ich przykładach, wydaje się, że w zasadzie musisz narysować wszystko sam, co byłoby problemem, ponieważ mam tysiące węzłów do narysowania.
pożarł elizjum
Nie jestem do końca pewien, co masz na myśli mówiąc `` narysować wszystko sam ''. NodeXL jest zarówno rozszerzeniem programu Excel, ale także interfejsem API dla .Net i obsługuje algorytmy układów wykresów, takie jak układ ukierunkowany na siłę (Fruchterman-Reingold lub Harel-Koren szybka multiscale) lub układ geometryczny (okrąg, siatka, spirala itp.). Sam go używałem i nie ma zbyt wiele pracy „ręcznej”
DrDee
Mówiłem o czymś innym, pomyliłem się z inną odpowiedzią. Ale wygląda na to, że NodeXL wymaga Office 2007. Nie mam nawet zainstalowanego pakietu Office.
pożarł elysium
Już to zainstalowałem. Jak mam go teraz używać z C #?
pożarł elysium
upewnij się, że instalujesz bibliotekę API, a nie rozszerzenie Office Excel. API jest dostępne pod adresem: codeplex.com/NodeXL/Release/… Przestrzeń nazw NodeXL to Microsoft.NodeXL, więc możesz ją zaimportować za pomocą: import Microsoft.NodeXL.Core import Microsoft.NodeXL.Visualization (myślę, że te dwa są najbardziej ważne biblioteki). Upewnij się tylko, że ścieżka do twojego IDE zawiera folder NodeXL.
DrDee
3

Nie próbowałem jeszcze tego, ale natrafiłem na interesującą ofertę MS Research dotyczącą wizualizacji ukierunkowanych wykresów Microsoft Automatic Graph Layout .

Spróbuj użyć „wykresu skierowanego” lub „dwuznaku” jako wyszukiwanych haseł. Dostaję dużo hitów.

Emmanuel
źródło
3

Spójrz na Satsumę . Napisany w C #, głównie algorytmach grafowych, ale jest też trochę podstawowego układu wykresów i rysunków.

szali
źródło
2

Sprawdź http://quickgraph.codeplex.com/ Mają wsparcie dla wizualizacji przez DotViz i Glee.

Do wizualizacji też bym sprawdził

http://flare.prefuse.org/

Chociaż jest to błysk, wydaje się bardzo interesujący i mają przynajmniej wizualizację drzewa, chociaż możesz być w stanie wyciągnąć z tego niektóre niekierowane wykresy.

JBland
źródło
0

Biblioteka kolekcji ogólnej C5 dla języków C # i interfejsu wiersza polecenia

jjchiw
źródło
Czy to nie zawiera tylko kilku przykładów algorytmów grafowych zbudowanych na strukturach danych kolekcji? Domyśliłbym się, że pytanie dotyczy czegoś w rodzaju biblioteki C ++ BGL ( boost.org/doc/libs/1_40_0/libs/graph/doc/index.html ).
Pontus Gagge
Masz rację Pontus. W przykładach podręcznika użytkownika znajduje się klasa Graph, ale nie jest ona częścią biblioteki. To przykład zbudowany na tym. I to niechlujne, niekompletne, patrząc na źródło.
Paul Sasik,
Ale można go użyć, cóż, jest to podejście .......
jjchiw
0

Kolego, myślę, że tego potrzebujesz!

W tym artykule przedstawiono ogólną bibliotekę wykresów, w 100% C #. Ta biblioteka jest próbą przeniesienia biblioteki Boost Graph Library (BGL) z C ++ do C #.

Samouk
źródło
1
Tak, ale ma kilka problemów podczas próby rysowania wykresów, z tego, co przeczytałem w komentarzach codeproject.
pożarł elysium
0

Użyliśmy ZedGraph, który jest projektem Open Source napisanym w C #, więc możesz go dostosować, jeśli uznasz, że jest to konieczne. Służyło naszym potrzebom, które brzmią, jakby były bardzo zbliżone do tego, co opisałeś. Jest nawet strona wiki projektu z kilkoma całkiem dobrymi przykładami.

Walter
źródło