使用d3_sankey重现桑基图示例时出现问题

8

我正在尝试使用rCharts库重现一个简单的例子,绘制sankey图。我从头开始使用此示例并尝试重现它,但是,我遇到了一些问题。

首先,我试着运行这段代码,但什么都没有发生。然后我发现并意识到,我需要在我的电脑上安装d3_sankey。所以我从这里下载了它,并将其复制到C:\Users\adomas\Documents\R\win-library\3.0\rCharts\libraries\widgets\d3_sankey中。

然后我再次尝试了未更改的代码,但仍然出现以下错误:

Error in file(con, "r") : cannot open the connection In addition: Warning message: In file(con, "r") : cannot open file '/config.yml': No such file or directory

由于这没能帮助我,我尝试更改路径,从:

sankeyPlot$setLib('libraries/widgets/d3_sankey') sankeyPlot$setTemplate(script = "libraries/widgets/d3_sankey/layouts/chart.html")

改为

sankeyPlot$setLib('C:/Users/adomas/Documents/R/win-library/3.0/rCharts/libraries/widgets/d3_sankey') sankeyPlot$setTemplate(script = "C:/Users/adomas/Documents/R/win-library/3.0/rCharts/libraries/widgets/d3_sankey/layouts/chart.html")

但是,这次在查看器中显示了一个空白屏幕,没有实际的桑基图,并且我在控制台中得到了以下内容:

Warning message: In readLines(file, warn = warn, ...) : invalid input found on input connection 'C:/Users/adomas/Documents/R/win-library/3.0/rCharts/libraries/widgets/d3_sankey/layouts/chart.html

我尝试更改路径等,但仍然有些问题。而且我不确定是否需要使用sankeyPlot$setTemplate。我希望在我的Shiny应用程序中使用桑基图,但首先我想在R中简单地重现它。建议将非常有帮助!

库的版本: rCharts_0.4.2 igraph_0.7.0 R版本:3.0.2

编辑: 我已经尝试在另一台系统上运行此代码。那里一切正常。库和R的版本相同,我复制了相同的文档并指定了完整路径。但是我在自己的电脑上再试一次,但仍然出现相同的错误。

2个回答

7

我也遇到了同样的问题。对我来说解决方案是升级rCharts:

devtools::install_github("rCharts", "ramnathv")

其次,我没有包含sankeyPlot$setTemplate()这一行。

最后,$setLib()中的路径应该是直接路径(如@adomasb解决方案中所述),或者可以使用以下行将其链接到原始github:

sankeyPlot$setLib('http://timelyportfolio.github.io/rCharts_d3_sankey/libraries/widgets/d3_sankey')

这种方法的一个不足之处是脚本始终需要互联网才能运行。

1
对于未来的人们,如果你们在这里寻找解决方案,Timror的解决方案是使用timelyportfolio链接作为sankeyPlot$setLib的参考。然而,当我使用它时,图表无法在RStudio查看器中呈现。为了解决这个问题,你可以将整个git存储库克隆到rCharts/libraries目录中,并从那里调用它。这也避免了始终需要互联网连接的需求。 - tblznbits

2

好的,最终它按照应该的方式工作了。

我只是重新启动了我的系统,就这样。但是,如果有人遇到同样的问题,请确保您指定了直接路径,即您放置所有必要文件的位置,以供d3_sankey使用。因此,您最好使用 sankeyPlot$setLib('C:/Users/adomas/Documents/R/win-library/3.0/rCharts/libraries/widgets/d3_sankey')

这是一种很棒的图表类型。祝你好运!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接