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

基于基础Rmarkdown实现Beamer演示文稿中代码块与图表的增量展示

嘿,我来帮你搞定这个需求!不用xaringan,基础R Markdown的Beamer输出完全能实现先展示代码块,再点击逐步显示图表的效果。核心是利用Beamer的原生渐进显示功能,结合代码块的拆分来控制内容出现的时机。

完整可运行示例

直接用下面的代码替换你的原始文件,就能实现理想效果:

---
title: "分步演示代码与图表"
author: "BP"
output: beamer_presentation
---

## Slide with Step-by-Step Content
- Making a plot

# 第一步:先展示代码块
```{r cars-code, echo=TRUE, eval=FALSE}
plot(cars$speed, cars$distance)

\pause

第二步:点击后显示图表
plot(cars$speed, cars$distance)
# 核心细节解释
- **拆分代码块**:把代码和图表分成两个独立的代码块:
  - 第一个块(`cars-code`)设置`eval=FALSE`,只显示代码不运行,确保观众先看到完整的代码逻辑;
  - 第二个块(`cars-plot`)设置`echo=FALSE`隐藏代码,`eval=TRUE`运行生成图表,还能通过`fig.width/fig.height`调整图表的大小适配幻灯片。
- **`\pause`命令**:放在两个代码块之间,这是Beamer的原生命令,作用是告诉演示文稿“这里需要点击后才显示后面的内容”,完美实现分步展示的交互感。

# 可选的单代码块写法(更简洁但稍显依赖)
如果你不想拆分代码块,也可以用Beamer的overlay语法控制图表的显示时机,不过这种方法依赖R自动生成的图表文件名,稳定性稍差,供你参考:
```yaml
---
title: "分步演示代码与图表"
author: "BP"
output: beamer_presentation
---

## Slide with Step-by-Step Content
- Making a plot

```{r cars, echo=TRUE, fig.show='hold'}
plot(cars$speed, cars$distance)

\only<2>{\includegraphics{cars-1.pdf}}

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

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

最近更新时间:2026.04.29 06:57:37