0

我创建了一个相当大(多页)的 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 中,它不会呈现。

有任何想法吗?

PS不确定还包括什么以使问题更具可重复性。

4

1 回答 1

2

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

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

  1. 恢复networkD3到 < 0.3 的版本,以便它也使用 D3v3

  2. rCharts开发者大厅升级到 D3v4

  3. 游说htmlwidgets` 开发人员想出一种处理冲突的 JavaScript 依赖项的可靠方法

于 2017-08-29T14:16:24.463 回答