如何在RMarkdown的PDF输出中控制表格与图表的排版位置?
R Markdown生成PDF:表格/图表位置未按预期显示问题
我查阅了大量相关文章和讨论帖,尝试了无数方法但仍未解决问题,仅取得了些许进展,部分表格和图表仍未按预期位置显示。若需补充或删减代码、输出示例来优化问题,请告知我。
期望实现的效果
- 用一行文字说明表格或图表
- 紧随其后展示对应的表格或图表
- 重复上述步骤
我的代码及操作流程
YAML配置与全局设置
--- date: "`r format(Sys.time(), '%d %B, %Y')`" output: pdf_document: latex_engine: pdflatex keep_tex: yes extra_dependencies: flafter header-includes: \usepackage{float} --- ```{r, echo=FALSE} knitr::opts_chunk$set(fig.pos = 'H')
### 表格渲染步骤 先编写生成表格的代码(未展示),然后添加说明文字,再用代码块渲染表格: 这是各州用电需求的数值汇总表。 ```r ```{r, echo=FALSE, warning=FALSE,message=FALSE, fig.pos="H"} kbl(daily_num_sumaries, caption = "Electricity Demand: Numerical Summaries", booktabs = T) %>% kable_styling(font_size = 12, latex_options = c("striped", "scale_down"))
(注:原始代码中`%>`存在语法错误,应为`%>%`) ### 图表渲染步骤 接着编写生成图表的代码(未展示),添加说明文字后用代码块渲染图表: 这是一个箱线图。 ```r ```{r demand_boxplot, echo=FALSE, fig.pos="H"} plot(demand_boxplot)
我多次重复上述步骤,但PDF输出并未按预期顺序渲染,请问我哪里出错了? ## 补充示例数据集 ```r start_date <- as.Date("2020/01/01") df <- data.frame( REGION = rep(c("NSW", "VIC", "QLD", "SA", "TAS"), each=50), DATE = seq(start_date, by = "day", length.out = 250), DAILY_COST = runif(250, min=0, max=743884569), DAILY_DEMAND = runif(250, min = 0, max = 337297) )
内容的提问来源于stack exchange,提问作者K-J
相关产品推荐
相关产品推荐

