Używam networkx (pakiet do rysowania wykresów Pythona) http://networkx.lanl.gov/index.html dla jednego z moich projektów. Choć networkx jest całkiem fajny, funkcja wyświetlania jest zasysana z powodu liczby krawędzi poprzecznych. Czy istnieje sposób, aby zminimalizować poprzeczne krawędzie na wykresie? Chodzi mi o algorytm, który może sortować węzły w taki sposób, aby zminimalizować przekroje poprzeczne?Minimalizuj krzywe krawędzi na wykresie
7
A
Odpowiedz
3
Ustalenie planarnego układu graficznego, który minimalizuje liczbę skrzyżowań, jest NP-trudny. Zobacz stronę wiki pod adresem Crossing Number.
Można wypróbować heurystyki, układ sił jest dość popularny, jak sądzę (graphviz używa ich, jeśli dobrze pamiętam).
Można również wypróbować algorytmy aproksymacyjne, powinieneś znaleźć odnośniki na stronie wiki, którą połączyłem.
Nadzieję, że pomaga.
Powiązane problemy
- 1. Parsowanie krawędzi na wykresie NetworkX
- 2. Wykrywanie narożników i krawędzi na wykresie
- 3. Algorytm wyszukiwania zbędnych krawędzi na wykresie lub drzewie
- 4. Liczba węzłów/krawędzi na dużym wykresie za pośrednictwem Gremlina?
- 5. Minimalizuj wierzchołki wielokątów
- 6. Krzywe wypełnione gnuplotem z paletą
- 7. Wyłączanie Minimalizuj i maksymalizuj na WinForm?
- 8. Minimalizuj okno z trybem NoResize na
- 9. Minimalizuj rozmiar bloku tekstowego
- 10. Minimalizuj okno w javafx2
- 11. Cykl maksymalnej masy na wykresie
- 12. Jak nakładać krzywe wielu gęstości na jeden wykres w R
- 13. iOS UIView krzywe animacji
- 14. Kolorowanie krawędzi siatki sieciowej na podstawie ciężaru
- 15. ArangoDB: (1 wykres z kilkoma definicjami krawędzi) Vs (1 definicja krawędzi na wykres)
- 16. Odłącz wszystkie wierzchołki na wykresie - Algorytm
- 17. Obróć etykiety na wykresie akordów (R circlize)
- 18. Kompresuj (minimalizuj) HTML z Pythona
- 19. Redukcja przewężenia na wykresie
- 20. Kolory oddziału na wykresie
- 21. Ile krawędzi może zawierać DAG?
- 22. Minimalizuj/maksymalizuj div z jQuery
- 23. Visual Studio Minimalizuj skróty regionów?
- 24. Pozycja UIBarButtonItem na krawędzi UINavigationBar
- 25. n-ty porządek Krzywe Beziera?
- 26. Draw więcej niż jeden krzywe funkcyjnych w tej samej powierzchni
- 27. Wykrywanie spadków na wykresie 2D
- 28. ustalanie wartości punktów na wykresie
- 29. kreślenie pojedyncze punkty na wykresie
- 30. Punkty kolorowania na wykresie par
Czy próbowałeś użyć Graphviz do swojego rysunku? To może zrobić lepiej przy minimalizowaniu przejazdów (zwłaszcza Dot, jeśli masz rodzaj wykresów, który preferuje). Jakiego rodzaju wykresu masz (tj. Skąd się bierze)? –
Myślałem, że networkx używa graphviz do wyświetlania (poprzez pydot). Te wykresy pochodzą ze śladów specjalnego rodzaju sieci. Pierścienie są najgorszym hitem :( –
możliwy duplikat [Planar Graph Layouts] (http://stackoverflow.com/questions/2347748/planar-graph-layouts) –