ggvis 대 ggplot2 + Shiny; 대화 형 시각화를 위해 어느 것을 선택해야합니까?


10

CrossValidated에도 비슷한 질문이 있으며 답변을 읽었습니다. 내 질문은 조금 다릅니다. 나는 단순히 내 데이터를 시각화하고 싶지 않으며 실제로 시각화하려는 것은 두 패키지로 시각화하기가 쉽지 않습니다.

플롯에 두 개의 점 세트 ( 좌표)가 있습니다. 가장자리를 추가하고 그래프와 비슷하게 만들고 싶습니다. n 점이 있으면 문제의 본질에 따라 플롯 에 ( n / 2 ) 2 모서리를 추가해야합니다 .엑스,와이(/2)2

그런 다음 플롯에 대화식 기능을 추가하고 싶습니다. 예를 들어, 한 점 (정점)을 클릭하면이 클릭 된 정점에 연결되지 않은 다른 모든 정점이 사라져보다 명료하고 집중된 음모를 갖습니다.

내 프로젝트에 적합한 네트워크 시각화 패키지를 찾으려고했지만 모두 에지 또는 노드 연결에 대한 데이터를 사용하고 특정 레이아웃 알고리즘을 기반으로 네트워크를 제공하는 것으로 보입니다. 내 데이터가 다릅니다. 노드의 좌표가 있고 그중 일부 사이에 가장자리를 만들고 싶습니다. 내 데이터에서 노드에는 자체 고정 위치가 있으며 이동해서는 안됩니다.

마지막으로 패키지를 ggvis및 로 좁혔습니다 ggplot2. ggvis대화식 음모를 생성하기위한 의도적 인 디자인 외에도 새롭고 신선합니다. 그러나 나는 ggplot2+Shiny또한 대화식 음모를 만들 수 있다는 것을 알았습니다 . (정확한가요?) 게다가, ggplot2의 기능이보다 다양하고 성숙하다는 것을 알았 습니다 ggvis. 예를 들어 ggplot2줌 기능이 있지만 ggvis없는 기능 입니다. 더 중요한 ggvis것은 성장하고 변화함에 따라 1 년 정도 기술적으로 쓸모 없거나 버그가있는 작업에 많은 시간을 투자하고 싶지 않다는 것입니다. 내가 코드를 작성하면 이것이 사실이라고 생각했습니다 ggvis.

이제 내 선택 ( ggplot2+shiny)을 평가 하고 내가 원하는 것을 할 수있는 가능성에 대해 조언 해 주시겠습니까?

언급 한 패키지를 몰랐으므로 ggplot2Wickham의 책에서 배우기 시작 했으며 그것을 좋아합니다! 그러나 나는 몇 주를 보내고이 놀라운 패키지가 내가 도와주고조차도 원하는 것을 할 수 없다는 것을 두려워 Shiny합니다.

추신 : 잠재적 인 사용자가 다운로드하고 실행할 수 있도록 github에 최종 코드를 넣고 싶습니다. 따라서 웹 응용 프로그램을 만들 필요가 없으며 웹 사이트를 만들거나 대화 형지도를 온라인으로 전환 할 필요가 없습니다. Rstudio 내부에서 실행할 수있는 대화 형 플롯이 필요합니다.


사이트에 오신 것을 환영합니다! 당신은 시도 igraph또는 D3 했습니까 ?
Dawny33

감사! 나는 igraph가 나를 위해 할 수있는 일을 검토했지만 내가 가지고있는 데이터와 인라인으로 찾지 못했습니다. 내가 이해하는 한 igraph는 연결된 정점의 데이터 (또는 가장자리에 대한 유사한 데이터)를 기반으로 네트워크를 시각화합니다. 일부 알고리즘 및 우선 순위에 따라 igraph는 주어진 데이터와 호환되는 플롯에서 정점을 찾습니다. 그러나 정점이 데이터 세트에있는 해당 좌표에 정확하게 있기를 원합니다. 패키지가 레이아웃과 위치를 선택하는 것을 원하지 않습니다.
Shahin

d3js.org가 아닌가 ? 매우 특정한 요구 사항이있는 것 같습니다. D3는 SVG로 작업하기가 매우 쉽습니다.
Ricardo Cruz

지피를 사용해 보셨습니까?
MM

CrossVal 질문에 대한 링크를 제공 할 수 있습니까?
Jim

답변:


4

이 도움 요청에서 몇 달이 지났습니다. 내 경험을 공유하기 위해 본인의 요청에이 답변을 작성합니다. 내가 배운 ggplot2다음과 ggvis뿐만 아니라 Shiny. Shiny두 가지 모두에서 작동 할 수 있지만에 ggvis비해 더 구조화되고 명쾌한 것을 발견 했습니다 ggplot2. 전자로서 기대되는 것은 후자의 개발 경험에 기초하여 개발되고있다. 또한, 빠른 그래프 / 차트 생성에서 ggvis보다 훨씬 빠르며 ggplot2'Shiny'및 애플릿 생성에 훨씬 적합합니다. 그러나 단점은 ggvis패키지가 개발 중이며 아직 성숙되지 않았기 때문에 많은 기능이 부족하다는 것입니다 .

그리고 의견에 감사드립니다. 확인 Gephi했지만 도움이되지 않습니다. 정말 잘 작동하는 애플릿을 만들었지 만 마침내이 시점에 도달하여 d3js이미 제안한 것처럼 보다 강력한 도구를 사용해야 합니다.


0

시간은 흐른다! 2 년 동안 일한 경험을 바탕으로 이제 Shiny, R 및 대화 형 시각화에 대한 이해도를 높이고 나 자신의 질문에 대답합니다.

Plotly는 가장 좋은 답변입니다. ggplot2 정적 플롯의 ggplotly () 변환 또는 Plotly 함수의 논리를 직접 학습하여 쉽게 사용할 수 있습니다.

후자의 경우는 다양한 도표를 가진 응용 분야에 권장됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.