【问题标题】:networkD3 conflict with rChartsnetworkD3 与 rCharts 冲突
【发布时间】:2017-12-09 05:14:54
【问题描述】:

我创建了一个相当大(多页)的 flexdashboard,其中包含不同的 htmlwidgets(plotly、highcharts、leaflet 等)。

为了避免rCharts和其他htmlwidgets冲突,我手动包含了javascript库,不包括jQuery:

<link rel='stylesheet' href=C:/Users/stefanj/Documents/R/win-library/3.3/rCharts/libraries/nvd3/css/nv.d3.css>
  <link rel='stylesheet' href=C:/Users/stefanj/Documents/R/win-library/3.3/rCharts/libraries/nvd3/css/rNVD3.css>
  <script type='text/javascript' src=C:/Users/stefanj/Documents/R/win-library/3.3/rCharts/libraries/nvd3/js/d3.v3.min.js></script>
  <script type='text/javascript' src=C:/Users/stefanj/Documents/R/win-library/3.3/rCharts/libraries/nvd3/js/nv.d3.min-new.js></script>
  <script type='text/javascript' src=C:/Users/stefanj/Documents/R/win-library/3.3/rCharts/libraries/nvd3/js/fisheye.js></script> 

另外,我将 rChart 块设置为:

```{r, echo=FALSE,results='asis', eval = TRUE, include_assets = FALSE}

但是,当我绘制一个 simpleNetwork 时,如果 rCharts 包含在 flexboard 中,它不会呈现。

有什么想法吗?

附:不知道还包括什么以使问题更具重现性。

【问题讨论】:

  • 要获得可重现的问题,请尝试使用已知且简单的数据集,例如iris,并找到可重现问题的小部件的简单组合。不确定这个 rcharts 是否适用于其他 htmlwidgets,您是否尝试过 highcharter?
  • 是的。我实际上在其中一个图表中使用它。但我还没有真正找到像nvd3.org/examples/multiBar.html 这样具有交互性的东西
  • 一切都取决于您对交互式的定义;)!

标签: r rcharts htmlwidgets networkd3


【解决方案1】:

networkD3 于 2017 年 2 月在 version 0.3 中更新为 D3v4,这与 rCharts 似乎使用的 D3 的 v3 版本不兼容。 htmlwidgets 是驱动 networkD3rCharts 的底层包,它只使用最新版本的依赖项,因此使用同一库的冲突版本的 htmlwidget 不能同时工作。查看here 了解有关此问题的讨论起点。

你有几个可能的选择,虽然它们都不是很好......

  1. networkD3 恢复为

  2. rCharts developers 的大厅升级到 D3v4

  3. htmlwidgets` developers 的游说区提出了一种强大的方法来处理冲突的 JavaScript 依赖项

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-29
    • 1970-01-01
    • 2013-10-21
    • 2020-08-19
    • 2010-12-10
    • 2018-04-02
    • 2021-10-23
    • 2020-12-03
    相关资源
    最近更新 更多