Il y a une question similaire ici dans CrossValidated, et j'ai lu les réponses. Ma question est un peu différente. Je ne veux pas simplement visualiser mes données, et en effet ce que je veux visualiser n'est pas facile à visualiser avec l'un ou l'autre des packages.
J'ai deux ensembles de points ( coordonnées ) sur mon tracé. Je veux ajouter des bords et le rendre similaire à un graphique. Si j'ai n points, alors en fonction de la nature de mon problème, je dois ajouter ( n / 2 ) 2 bords à l'intrigue.
Ensuite, je veux ajouter des fonctionnalités interactives à mon intrigue. Par exemple, en cliquant sur un point (sommet), tous les autres sommets qui ne sont pas connectés à ce sommet cliqué doivent disparaître pour avoir un tracé plus lucide et focalisé.
J'ai essayé de trouver un package de visualisation de réseau adapté à mon projet, mais il semble que tous utilisent les données sur la connexion des bords ou des nœuds et fournissent un réseau basé sur un algorithme de mise en page spécifique. Mes données sont différentes. J'ai les coordonnées des nœuds et je veux établir des arêtes entre certains d'entre eux. Dans mes données, les nœuds ont leurs propres emplacements fixes et ne doivent pas être déplacés.
Enfin, j'ai réduit les packages à ggvis
et ggplot2
. ggvis
est nouveau et frais en plus d'avoir une conception intentionnelle pour générer des tracés interactifs. Mais j'ai découvert que cela ggplot2+Shiny
peut aussi produire des graphiques interactifs. (Est-ce exact?) En outre, je me suis dit que ggplot2
les capacités sont plus variées et plus mûres que ggvis
: par exemple, ggplot2
a une fonction de zoom alors ggvis
qu'elle ne l'a pas. Plus important encore, comme cela ggvis
grandit et change, je ne veux pas investir beaucoup de temps sur un travail qui devient techniquement obsolète ou buggé dans un an ou deux. Je pensais que c'est le cas si je code en fonction de ggvis
.
Maintenant, pouvez-vous évaluer mon choix ( ggplot2+shiny
) et me conseiller sur la possibilité de faire ce que je veux en faire?
Comme je ne connaissais aucun des packages mentionnés, j'ai commencé à apprendre ggplot2
du livre de Wickham et je l'adore! Mais j'ai peur de passer quelques semaines et de découvrir que ce paquet étonnant ne peut pas faire ce que je veux faire même avec l'aide de Shiny
.
PS: Je veux mettre le code final sur github pour que les utilisateurs probables puissent le télécharger et l'exécuter. Par conséquent, je n'ai pas besoin de faire une application web, il n'y a pas besoin de site web ni de mise en ligne de la carte interactive. J'ai juste besoin d'avoir un tracé interactif qui peut être exécuté depuis l'intérieur de Rstudio.
la source
igraph
ou D3?Réponses:
Eh bien, plusieurs mois se sont écoulés depuis cette demande d'aide. J'écris cette réponse à ma propre demande afin de partager mon expérience. J'ai appris
ggplot2
et puisggvis
aussi bienShiny
.Shiny
peut fonctionner avec les deux, mais j'ai trouvéggvis
plus structuré et lucide par rapport àggplot2
. Quelque chose qui est prévisible car le premier est développé sur la base de l'expérience de développement du second. De plus,ggvis
semble beaucoup plus rapide queggplot2
dans la génération rapide de graphiques / graphiques, il semble beaucoup plus approprié pour 'Shiny' et pour créer une applet. Cependant, le point négatif est le manque de nombreuses fonctionnalitésggvis
car le package est en cours de développement et n'est pas encore arrivé à maturité.Et merci beaucoup aux commentaires ici. J'ai vérifié
Gephi
, ça n'aiderait pas. J'ai créé mon applet qui fonctionne très bien, mais j'ai finalement atteint ce point que je dois utiliser des outils plus puissants tels qued3js
, comme on l'a déjà suggéré.la source
Le temps passe! Après 2 ans d'expérience de travail, je réponds maintenant à ma propre question avec une meilleure compréhension de Shiny, R et de la visualisation interactive.
Le Plotly est de loin la meilleure réponse. Il peut être facilement utilisé par la conversion ggplotly () des tracés statiques ggplot2, ou directement en apprenant la logique derrière les fonctions Plotly.
Ce dernier cas est suggéré pour les applications avec des parcelles diverses.
la source