ggvis ve ggplot2 + Parlak; etkileşimli görselleştirme için hangisini seçmeli?


10

CrossValidated'da benzer bir soru var ve cevapları okudum. Sorum biraz farklı. Verilerimi sadece görselleştirmek istemiyorum ve aslında görselleştirmek istediğim her iki paketle de görselleştirmek kolay değil.

Grafiğimde iki nokta kümesi var ( koordinatları). Kenar eklemek ve bir grafiğe benzer yapmak istiyorum. Ben varsa puan, sonra benim sorunun niteliğine bağlı olarak, söylemek gerekir arsa için kenarlarını.x,yn(n/2)2

Sonra çizimime bazı etkileşimli özellikler eklemek istiyorum. Örneğin, bir noktaya (tepe noktasına) tıklayarak, bu tıklanan tepe noktasına bağlı olmayan diğer tüm köşelerin daha berrak ve odaklanmış bir plana sahip olması için kaybolması gerekir.

Projeme uygun bir ağ görselleştirme paketi bulmaya çalıştım, ancak hepsi kenarların veya düğümlerin bağlantısı hakkındaki verileri kullanıyor ve belirli bir düzen algoritmasına dayanan bir ağ sağlıyor gibi görünüyor. Verilerim farklı. Düğüm koordinatlarına sahibim ve bazıları arasında bazı kenarlar oluşturmak istiyorum. Verilerimde düğümlerin kendi sabit konumları var ve hareket ettirilmemeleri gerekiyor.

Sonunda, paketleri daralttım ggvisve ggplot2. ggvisetkileşimli grafikler oluşturmak için kasıtlı tasarıma ek olarak yeni ve taze. Ama bunun ggplot2+Shinyinteraktif araziler de üretebileceğini öğrendim . (Bu doğru mu?) Ayrıca, ggplot2yeteneklerinin aşağıdakilerden daha çeşitli ve olgunlaştığını anladım ggvis: örneğin ggplot2, yakınlaştırma özelliği yokken ggvis. Daha da önemlisi, ggvisbüyümekte ve değişmekte olduğu gibi , bir yıl içinde teknik olarak eskimiş veya buggy hale gelen bir çalışmaya çok fazla zaman harcamak istemiyorum. Eğer kod dayalı eğer böyle olduğunu düşündüm ggvis.

Şimdi lütfen seçimimi ( ggplot2+shiny) değerlendirebilir ve onunla ne yapmak istediğimi yapma olasılığı hakkında bilgi verebilir misiniz ?

Bahsedilen paketlerin hiçbirini bilmediğim için ggplot2, Wickham'ın kitabından öğrenmeye başladım ve bayıldım! Ama birkaç hafta geçirmekten ve bu muhteşem paketin yardımı ile yapmak istediğim şeyi yapamayacağını bulmaktan korkuyorum Shiny.

Not: Olası kullanıcıların indirip çalıştırabilmesi için son kodu github'a koymak istiyorum. Bu nedenle, bir web uygulaması yapmama gerek yok, herhangi bir web sitesine veya interaktif haritayı çevrimiçi duruma getirmeye gerek yok. Sadece Rstudio'nun içinden çalıştırılabilecek interaktif bir komploya ihtiyacım var.


Siteye Hoşgeldiniz! Denediniz mi igraphyoksa D3?
Dawny33

Teşekkürler! İgraph'ın benim için neler yapabileceğini inceledim ve sahip olduğum verilerle satır içi bulamadım. Anladığım kadarıyla, igraph, bağlı köşelerin (veya kenarlarla ilgili benzer verilerin) verilerine dayanan bir ağı görselleştirir. Bazı algoritmalara ve önceliklere dayanarak, igraph grafikte verilen verilere uygun köşeleri bulur. Ancak, köşe noktalarının veri kümemde tam olarak karşılık gelen koordinatlarında olmasını istiyorum. Paketin düzenini ve konumunu seçmesini istemiyorum.
Şahin

Neden d3js.org değil ? Çok özel gereksinimleriniz var gibi görünüyor. D3, SVG ile çalışmayı son derece kolaylaştırır.
Ricardo Cruz

Gephi'yi denedin mi?
MM

CrossVal sorusuna bir bağlantı verebilir misiniz?
Jim

Yanıtlar:


4

Bu yardım talebinden aylar geçti. Deneyimimi paylaşmak için bu cevabı kendi isteğime yazıyorum. Öğrendiğim ggplot2sonra ve ggvishem de Shiny. Shinyher ikisiyle de çalışabilir, ancak ben ggvisdaha fazla yapılandırılmış ve berrak buldum ggplot2. Birincisi olarak beklenen bir şey, ikincisinin gelişim deneyimine dayanarak geliştirilmektedir. Dahası, hızlı grafik / grafik üretmekten ggvisçok daha ggplot2hızlı görünüyor, 'Parlak' ve bir uygulama oluşturmak için çok daha uygun görünüyor. Bununla birlikte, olumsuz nokta, ggvispaketin geliştirilme aşamasında olması ve henüz olgunlaşmamış olması nedeniyle birçok özelliğin olmamasıdır .

Ve buradaki yorumlara çok teşekkürler. Kontrol ettim Gephi, yardımcı olmaz. Gerçekten iyi çalışan uygulamamı oluşturdum, ancak nihayetinde daha d3jsönce önerildiği gibi daha güçlü araçlar kullanmam gereken bu noktaya ulaştım .


0

Zaman uçuyor! 2 yıllık çalışma deneyiminden sonra, şimdi Parlak, R ve etkileşimli görselleştirmeyi daha iyi anlayarak kendi soruma cevap veriyorum.

Plotly açık ara en iyi cevaptır. Bu, ggplot2 statik grafiklerinin ggplotly () dönüşümü ile veya doğrudan Plotly işlevlerinin arkasındaki mantığı öğrenerek kullanılabilir.

İkinci durum, çeşitli arsalara sahip uygulamalar için önerilmektedir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.