DiagrammeR mermaid: 在 rmarkdown ioslides 中结果不一致

40

我有一个使用DiagrammeR的mermaid工作流程图的rmarkdown演示文稿(ioslides),其中包含3个幻灯片。以下文件保存为.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 = FALSEcache = TRUE 没有任何区别
  • 在mermaid声明的行之间添加额外换行不起作用(建议解决方案在这里
  • 插入或删除样式声明没有任何区别
  • 使用的浏览器没有任何区别(最初在RStudio浏览器中查看,但如果在火狐浏览器中查看,显示也会出错)
  • 将演示输出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输出中,所有幻灯片上都能够呈现一致、完整尺寸和正确颜色的图表。
谢谢。

使用Chrome浏览器,如果我重新加载演示文稿,它就可以正常工作。不知道为什么... - Ralf Stubner
1
现在似乎不是问题,因为有更新版本的 DiagrammeR 1.0.1rmarkdown 1.16 - Andrew Chisholm
2个回答

1

DiagrammeR v. 1.0.6 和 rmarkdown v. 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


-1

这实际上是对你的地理问题的回答,但我在那个堆栈上没有足够的声望来发布它

很奇怪,在你指出的6°N 85°55'W附近的位置存在引力异常

查看NASA Grace数据以了解这些位置 https://gracefo.jpl.nasa.gov/data/grace-fo-data/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接