W CrossValidated jest podobne pytanie i przeczytałem odpowiedzi. Moje pytanie jest trochę inne. Nie chcę jedynie wizualizować moich danych, a tak naprawdę to, co chcę wizualizować, nie jest łatwe do wizualizacji za pomocą żadnego z pakietów.
Na moim wykresie mam dwa zestawy punktów ( współrzędne ). Chcę dodać krawędzie i uczynić to podobnym do wykresu. Jeśli mam n punktów, to w oparciu o naturę mojego problemu muszę dodać ( n / 2 ) 2 krawędzie do wykresu.
Następnie chcę dodać interaktywne funkcje do mojej fabuły. Na przykład, klikając jeden punkt (wierzchołek), wszystkie inne wierzchołki, które nie są połączone z tym klikniętym wierzchołkiem, muszą zniknąć, aby uzyskać bardziej przejrzysty i skupiony wykres.
Próbowałem znaleźć pakiet wizualizacji sieci pasujący do mojego projektu, ale wydaje się, że wszystkie wykorzystują dane o połączeniu krawędzi lub węzłów i udostępniają sieć w oparciu o określony algorytm układu. Moje dane są inne. Mam współrzędne węzłów i chcę ustalić pewne krawędzie między niektórymi z nich. W moich danych węzły mają swoje ustalone lokalizacje i nie można ich przenosić.
Wreszcie zawęziłem pakiety do ggvis
i ggplot2
. ggvis
jest nowy i świeży, oprócz celowego zaprojektowania interaktywnych fabuł. Ale dowiedziałem się, że ggplot2+Shiny
może również produkować interaktywne wykresy. (Czy to prawda?) Poza tym doszedłem do wniosku, że ggplot2
możliwości są bardziej zróżnicowane i dojrzałe niż ggvis
: na przykład ggplot2
ma funkcję powiększania, podczas gdy jej ggvis
nie ma. Co ważniejsze, ponieważ ggvis
rośnie i zmienia się, nie chcę poświęcać dużo czasu na pracę, która z czasem stanie się technicznie przestarzała lub popsuta. Myślałem, że tak jest, jeśli koduję na podstawie ggvis
.
Czy możesz teraz ocenić mój wybór ( ggplot2+shiny
) i poinformować mnie o możliwości zrobienia z nim tego, co chcę?
Ponieważ nie znałem żadnego z wymienionych pakietów, zacząłem uczyć się ggplot2
z książki Wickhama i uwielbiam to! Ale boję się spędzić kilka tygodni i dowiedzieć się, że ten niesamowity pakiet nie może zrobić tego, co chcę, nawet przy pomocy Shiny
.
PS: Chcę umieścić końcowy kod na github, aby prawdopodobni użytkownicy mogli go pobrać i uruchomić. Dlatego nie muszę tworzyć aplikacji internetowej, nie ma potrzeby tworzenia żadnej strony internetowej ani umieszczania interaktywnej mapy online. Potrzebuję tylko interaktywnej fabuły, którą można uruchomić z Rstudio.
igraph
czy D3?