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.
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ć):
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.
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 !
Ł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.
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.
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.
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.
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 #.
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.
Odpowiedzi:
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.
źródło
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ć):
źródło
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 #:
Również GraphX obsługuje wszystkie oryginalne algorytmy układu z Graph #. Jeśli masz jakieś pytania, odwiedź http://panthernet.ru/forum !
źródło
Jest QuickGraph , działa całkiem nieźle i ma większość podstawowych algorytmów.
źródło
Spójrz na yWorks: http://www.yworks.com/en/index.html
Z tego, co widziałem, nie ma tam wielu dobrych bibliotek.
źródło
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 /
źródło
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.
źródło
Spójrz na Satsumę . Napisany w C #, głównie algorytmach grafowych, ale jest też trochę podstawowego układu wykresów i rysunków.
źródło
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.
źródło
Biblioteka kolekcji ogólnej C5 dla języków C # i interfejsu wiersza polecenia
źródło
Kolego, myślę, że tego potrzebujesz!
źródło
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.
źródło
Matlab ma dobre wsparcie dla wykresów, a za pomocą kilku linii .NET można wywołać plik .m, aby wyświetlić wykresy. Zobacz Tworzenie wykresu lub wykresu z aplikacji konsoli C # przy użyciu Matlab?
źródło