ggvis与ggplot2 + Shiny; 选择哪种进行交互式可视化?


10

CrossValidated中还有一个类似的问题,我已经阅读了答案。我的问题有点不同。我不想仅可视化我的数据,并且实际上我想可视化的内容都不容易用这两个软件包可视化。

我的绘图上有两组点(坐标)。我想添加边缘并使它类似于图形。如果我有个点,则根据问题的性质,我需要向图中添加边。Xÿn / 2 2ññ/22

然后,我想在绘图中添加一些交互式功能。例如,通过单击一个点(顶点),未连接到此单击的顶点的所有其他顶点必须消失以具有更清晰和集中的图。

我试图找到一个适合我的项目的网络可视化程序包,但似乎它们所有人都使用有关边或节点连接的数据,并基于某些特定的布局算法提供了一个网络。我的数据不一样。我有节点的坐标,我想在它们之间建立一些边缘。在我的数据中,节点具有自己的固定位置,并且不得四处移动。

最后,我将包缩小到ggvisggplot2ggvis除了具有故意设计来生成交互式图外,它还是新的和新鲜的。但是我发现它ggplot2+Shiny也可以产生交互式图。(这是正确的吗?)此外,我发现ggplot2的功能比ggvis:更多样化,更成熟:例如ggplot2具有缩放功能,而ggvis没有缩放功能。更重要的是,随着ggvis发展和变化,我不想花太多时间在一年左右的技术上过时或出现故障的工作上。我认为如果我基于进行编码,就是这种情况ggvis

现在,您可以评估一下我的选择(ggplot2+shiny),并就可能做我想做的事情向我提出建议吗?

因为我不知道所提到的任何软件包,所以我已经开始ggplot2从Wickham的书中学习,我喜欢它!但是我害怕花几周的时间才能发现,即使是在借助的协助下,这个惊人的方案也无法完成我想做的事情Shiny

PS:我想将最终代码放在github上,以便可能的用户下载并运行它。因此,我不需要制作Web应用程序,也不需要任何网站或将交互式地图在线。我只需要有一个可以在Rstudio内部运行的交互式绘图。


欢迎光临本站!您尝试过igraph还是D3?
Dawny33

谢谢!我查看了igraph可以为我做的事情,但没有发现它与我的数据相符。据我了解,igraph根据连接的顶点数据(或有关边的类似数据)可视化网络。基于某些算法和优先级,igraph在与给定数据兼容的情节上定位顶点。但是我希望这些顶点精确地位于我在数据集中具有的相应坐标中。我不希望软件包选择其布局和位置。
Shahin

为什么不使用d3js.org?听起来您有非常特殊的要求。D3使使用SVG变得非常容易。
里卡多·克鲁兹

您尝试过gephi吗?
MM

您能否提供CrossVal问题的链接。
吉姆(Jim)

Answers:


4

好了,这个帮助请求已经过去了许多个月。我根据自己的要求写了这个答案,以分享我的经验。我学会了ggplot2,然后ggvis还有ShinyShiny可以同时使用它们,但ggvis与相比,我发现结构更清晰ggplot2。根据前者的开发经验,可以开发出前者所期望的东西。而且,它ggvis似乎比ggplot2快速图形/图表生成快得多,它似乎更适合“发光”和创建小程序。但是,缺点是缺少很多功能,ggvis因为该程序包正在开发中并且尚未成熟。

非常感谢这里的评论。我已经检查过了Gephi,这无济于事。我创建了一个非常有效的applet,但是最终我需要使用更强大的工具,例如d3js,正如已经建议的那样。


0

时间飞逝!经过2年的工作经验,现在我可以更好地理解Shiny,R和交互式可视化来回答自己的问题。

到目前为止,Plotly是最好的答案。通过ggplot2静态图的ggplotly()转换,或直接通过学习Plotly函数背后的逻辑,可以轻松使用它。

建议使用后一种情况,以用于各种情节。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.