我正试图在用xaringan渲染的Rmarkdown html演示中制作一些简单的流程图。我正在使用DiagrammeR
软件包绘制美人鱼图。但是,尽管图表在Rstudio查看器中显示正确,但样式不会显示在演示输出中。
例如
DiagrammeR::mermaid("
graph LR;
A((Orange)) --> B((Grey));
classDef orange fill:#f96;
classDef grey fill:#d3d3d3;
class A orange;
class B grey;
")
在控制台上运行时,会按预期生成一个橙色节点和一个灰色节点。然而,
---
title: "Simple Example"
output:
xaringan::moon_reader
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE, message = FALSE, warning = FALSE)
```
## Flow chart
```{r example, fig.align='center', fig.retina=3}
DiagrammeR::mermaid("
graph LR;
A((Orange)) --> B((Grey));
classDef orange fill:#f96;
classDef grey fill:#d3d3d3;
class A orange;
class B grey;
")
```
生成默认美人鱼颜色的流程图,忽略样式。
有人知道解决这个问题的方法吗?我也愿意接受其他绘制简单树状图的软件包的建议。
美人鱼创建一个htmlwidget作为输出。您应该将它包装成一个<iframe>
部分。widgetframe包可以为您做到这一点,其他基于htmlwidget的应用程序,如DT、传单、Dygraph,都可以用这种方法嵌入到xaringan中。
---
title: "Simple Example"
output:
xaringan::moon_reader
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE, message = FALSE, warning = FALSE)
```
## Flow chart
```{r example, fig.align='center', fig.retina=3}
suppressPackageStartupMessages(library(widgetframe))
l=DiagrammeR::mermaid("
graph LR;
A((Orange)) --> B((Grey));
classDef orange fill:#f96;
classDef grey fill:#d3d3d3;
class A orange;
class B grey;
")
widgetframe::frameWidget(l)
```