r - 美人鱼图在 Rmarkdown xaringan 演示文稿中无法正确呈现

标签 r r-markdown diagrammer xaringan mermaid

我正在尝试在使用 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/

相关文章:

r - 使用 R igraph 根据权重绘制边缘

r - tsne 初始 PCA 步骤在做什么

在脚本中使用 setwd() 的风险?

r - 在 R Markdown 中格式化表格以导出到 MS Word 文档

r - 有没有办法使用 StatET Eclipse 插件的外部工具功能来编织并生成 .rmd 文件?

r - 将缺少日期的数据框转换为时间序列

r - 如何在我的 knitr 文档中包含外部图形?

r - diagrammer - 如何在我的流程图中添加武器?

R图R水平图