我想在同一个Rmarkdown文档中加入两个mermaid
- 来自DiagrammeR
包的network3D
流程图和---
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)
```
图表。如果我在我的文档中包含两者,那么它们都不会渲染,但如果我只包含其中一个,那么它将被渲染。
以下是Rmarkdown中显示问题的最小示例
DiagrammeR
如果我根据grViz
添加多个mermaid
图表,那么一切都很好,花花公子。此外,如果我遗漏library
情节,那么我会看到剩下的两个。他们不应该很好地一起玩吗?我试图交换{{1}}电话的顺序无效。
答案 0 :(得分:0)
networkD3
已更新为2017年2月version 0.3中的D3v4,与D3的v3版本不兼容,这是DiagrammeR
似乎使用的版本。 htmlwidgets
是驱动networkD3
和DiagrammeR
的底层包,它只使用最新版本的依赖项,因此使用相同库的冲突版本的htmlwidgets不能同时工作。请查看here以获取有关此问题的讨论起点。
你有几个可能的选择,虽然它们都不是很好......
将networkD3
还原为版本&lt; 0.3这样它也使用D3v3
游说DiagrammeR
developers升级到D3v4
游说htmlwidgets` developers提出一种处理冲突的JavaScript依赖关系的强大方法