r语言 - 在Rmarkdown中结合netword3D和美人鱼会搞砸渲染



我想在同一个Rmarkdown文档中包含两个htmlwidgets- 来自DiagrammeR包的mermaid流程图和一个network3D图。如果我在我的文档中都包含它们,那么它们都不会呈现,但如果我只包含其中一个,那么它将被渲染。

这是Rmarkdown中的一个最小示例,显示了问题

---
title: "Untitled"
author: "Me"
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
## The grViz always works
```{r dia1, echo=FALSE}
library(DiagrammeR)
grViz("
digraph {
layout = twopi
A -> {B C D}
}")
```
# From here onwards I can only include one of the two graphs 
```{r}
mermaid("
graph LR
A-->B
")
```
# Plot
```{r}
library(networkD3)
Source <- c("A", "A", "A", "A", "B", "B", "C", "C", "D")
Target <- c("B", "C", "D", "J", "E", "F", "G", "H", "I")
NetworkData <- data.frame(Source, Target)
# Create graph
simpleNetwork(NetworkData)
```

如果我根据grViz添加多个DiagrammeR图,那么一切都很好。另外,如果我省略mermaid情节,那么我会看到剩下的两个。他们不应该一起玩得很好吗?我试图交换library调用的顺序无济于事。

networkD3

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

您有一些可能的选择,尽管它们都不是很好......

  1. networkD3还原为 0.3

  2. DiagrammeR开发人员升级到 D3v4 的大厅

  3. 游说 htmlwidgets 的开发人员提出一种处理冲突 JavaScript 依赖关系的强大方法

相关内容

  • 没有找到相关文章

最新更新