我正在尝试在使用 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 package 可以为您完成此操作,其他基于 htmlwidget 的应用程序(如 DT、leaflet、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)
```
关于r - 美人鱼图在 Rmarkdown xaringan 演示文稿中无法正确呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58689080/