36

我有一个 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

")
```

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

  • 被修改的最后一个块(输入或删除的文本,甚至回车),得到正确显示(如果我“触摸”它们的树,通常第一个显示错误)
  • 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’

我所期望的:在 ioslides 输出的所有幻灯片中始终显示完整大小且颜色正确的图表的演示文稿。

谢谢

4

1 回答 1

0

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
")
```

输出: Mermaid & DiagrammeR

于 2021-12-27T14:32:47.103 回答