DiagrammeR美人鱼:rmarkdown ioslides的结果不一致

Pav*_*ive 13 r r-markdown mermaid diagrammer ioslides

我有一个rmarkdown演示文稿(ioslides)有3张幻灯片,流程图在DiagrammeR美人鱼中工作.保存为.Rmd的以下文件可以重现该示例(至少在我的机器中,希望您也是如此):

---
title: "Untitled"
author: "author"
date: "28 de enero de 2018"
output: ioslides_presentation
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)

require(DiagrammeR)
```

## DiagrammeR's mermaid

It's not producing consistent results in slides when using line breaks.

```{r flow}
mermaid("
  graph LR
    C(CLIENTES <br>Clients) --> D[Doctors]
    U(USUARIOS <br>Users <br>Patients <br>Nurses) --> D
    D --> S(SALIDAS <br>Medicines <br>Surgery)
    style C fill: #f5f5dc
    style D fill: #4682b4
    style U fill: #ffe4c4
")
```

## Second attempt

```{r flow2}
mermaid("
  graph LR
    C(CLIENTES <br>Clients) --> D[Doctors]
    U(USUARIOS <br>Users <br>Patients <br>Nurses) --> D
    D --> S(SALIDAS <br>Medicines <br>Surgery)

")
```

## Third attempt

```{r flow3}
mermaid("
  graph LR
    C(CLIENTES <br>Clients) --> D[Doctors]
    U(USUARIOS <br>Users <br>Patients <br>Nurses) --> D
    D --> S(SALIDAS <br>Medicines <br>Surgery)
    style C fill: #f5f5dc
    style D fill: #4682b4
    style U fill: #ffe4c4

")
```
Run Code Online (Sandbox Code Playgroud)

运行时,它会生成两个正常大小的图表和一个小图表.我注意到的事情:

  • 被修改的最后一个块(输入或删除文本,甚至回车)都会被正确显示(如果我"触摸"它们的树,通常第一个显示错误)
  • cache = FALSE或者cache = TRUE没有什么区别
  • 在美人鱼声明的行之间添加换行符(附加)不起作用(建议在此处作为解决方案)
  • 插入或删除样式声明并没有什么区别
  • 使用的浏览器没有什么区别(最初用RStudio浏览器查看,但如果在firefox中看到显示同样错误)
  • 当演示输出ioslides更改slidy为时,它可以工作(这是我的替代方案,但如果有解决方案,我宁愿选择ioslides).

相关部分或R.VersionSys.info:

> Sys.info()
                                     sysname 
                                     "Linux" 
                                     release 
                             "4.9.0-5-amd64" 
                                     version 
"#1 SMP Debian 4.9.65-3+deb9u2 (2018-01-04)" 
                                    nodename 
                                     "pavos" 
                                     machine 
                                    "x86_64" 
## R and packages Versions
> R.Version()

$`svn rev`
[1] "73796"

$version.string
[1] "R version 3.4.3 (2017-11-30)"

$nickname
[1] "Kite-Eating Tree"

> packageVersion("DiagrammeR")
[1] ‘0.9.2’
> packageVersion("rmarkdown")
[1] ‘1.8’
Run Code Online (Sandbox Code Playgroud)

我期待的是:在ioslides输出的所有幻灯片中,使用完整大小和正确着色的图表进行一致显示的演示.

谢谢

Art*_*tem 1

DiagrammeRv.1.0.6和rmarkdownv.2.16没有问题。如果重新运行代码,您将得到预期的输出:

---
title: "Test ioslides"
author: "Noname"
date: "26 january 2021"
output: ioslides_presentation
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
require(DiagrammeR)
```

## DiagrammeR's mermaid

Produce consistent results

```{r flow}
mermaid("
  graph LR
    C(CLIENTES <br>Clients) --> D[Doctors]
    U(USUARIOS <br>Users <br>Patients <br>Nurses) --> D
    D --> S(SALIDAS <br>Medicines <br>Surgery)
    style C fill: #f5f5dc
    style D fill: #4682b4
    style U fill: #ffe4c4
")
```
Run Code Online (Sandbox Code Playgroud)

输出: 美人鱼与图解