There is a similar question here in CrossValidated, and I have read the answers. My question is a bit different. I don't want to merely visualize my data, and indeed what I want to visualize is not easy to visualize with either package.
I have two sets of points ($x,y$ coordinates) on my plot. I want to add edges and make it similar to a graph. If I have $n$ points, then based on the nature of my problem, I need to add $(n/2)^2$ edges to the plot.
Then I want to add some interactive features to my plot. For instance, by clicking on one point (vertex), all other vertices which are not connected to this clicked vertex must disappear to have a more lucid and focused plot.
I tried to find a network visualization package suited to my project, but it seems all of them use the data about connection of edges or nodes and provide a network based on some specific layout algorithm. My data is different. I have the coordinates of nodes and I want to establish some edges between some of them. In my data the nodes have their own fixed locations and must not be moved around.
Finally, I narrowed down the packages to
ggvis is new and fresh in addition to having intentional design to generate interactive plots. But I found out that
ggplot2+Shiny can also produce interactive plots. (Is that correct?) Besides, I figured that
ggplot2's capabilities are more varied and matured than
ggvis: for instance
ggplot2 has a zooming feature while
ggvis does not have it. More important, as
ggvis is growing and changing, I don't want to invest a lot of time on a work that becomes technically obsolete or buggy in a year or so. I thought this is the case if I code based on
Now may you please evaluate my choice (
ggplot2+shiny) and advise me about possibility to do what I want to do with it?
As I did not know any of the mentioned packages, I have started learning
ggplot2 from Wickham's book and I love it! But I am afraid of spending a few weeks and finding out that this amazing package cannot do what I want to do even with the aid of
P.S: I want to put the final code on github so probable users can download and run it. Therefore, I do not need to make a web application, there is no need to any website or putting the interactive map online. I just need to have an interactive plot which can be run from inside of Rstudio.