You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R Markdown调用source脚本后无法显示DiagrammeR图形结果

解决R Markdown中source脚本后DiagrammeR图形不显示的问题

以下是几种可行的解决方法,按优先级排序:

方法1:修改外部脚本,确保绘图对象被输出

在你的Gr01_-_QMOF.r脚本中,确保grViz生成的图形对象被显式打印或直接返回。示例如下:

library(DiagrammeR)

# 直接绘制并输出DOT图
grViz("
digraph QMOF {
  node [shape=rectangle]
  A -> B;
  B -> C;
}
")

如果你将图形赋值给变量,最后必须显式打印:

library(DiagrammeR)

my_qmof_graph <- grViz("
digraph QMOF {
  # 你的DOT语法内容
}
")

print(my_qmof_graph)

方法2:在R Markdown代码块中显式捕获并打印脚本返回的图形

若不想修改外部脚本,可在R Markdown的代码块中捕获source()返回的结果并打印:

# 调用脚本并获取返回的图形对象
graph_result <- source("Gr01_-_QMOF.r", local = knitr::knit_global())$value

# 显式打印图形
print(graph_result)

方法3:检查代码块选项是否抑制了输出

确保你的R Markdown代码块没有设置隐藏图形的选项(如results='hide'、fig.show='hide')。保持选项默认,或显式启用图形显示:

```{r, fig.show='asis'}
source("Gr01_-_QMOF.r", local = knitr::knit_global())
## 额外注意事项
- 若R Markdown输出格式为PDF,DiagrammeR的grViz图形需要额外转换为图片格式;HTML输出格式下按上述方法即可正常显示。
- 确认`DiagrammeR`包已正确安装,脚本中不要遗漏`library(DiagrammeR)`语句。

内容的提问来源于stack exchange,提问作者R Walser
相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 10:40:50