R 如何将图形的标题从底部移动到顶部?

R 如何将图形的标题从底部移动到顶部?,r,figure,caption,R,Figure,Caption,如果我忽略了一些显而易见的事情,我很抱歉,但我已经在谷歌上搜索了所有我能想到的东西,没有找到一个适合我的答案 我的问题是,我正在使用ggplot2包创建图形(使用“fig.cap=xy”的块选项中创建的标题),并使用kable包创建表格。现在的问题是,当编织成PDF时,表格的标题会自动创建在表格顶部,数字的标题会自动创建在底部。我想一个统一的外观,我的PDF,所以我想有表和数字都在顶部的标题 建议在yaml中使用-\usepackage{floatrow}和-\floatsetup[figure

如果我忽略了一些显而易见的事情,我很抱歉,但我已经在谷歌上搜索了所有我能想到的东西,没有找到一个适合我的答案

我的问题是,我正在使用ggplot2包创建图形(使用“fig.cap=xy”的块选项中创建的标题),并使用kable包创建表格。现在的问题是,当编织成PDF时,表格的标题会自动创建在表格顶部,数字的标题会自动创建在底部。我想一个统一的外观,我的PDF,所以我想有表和数字都在顶部的标题

建议在yaml中使用
-\usepackage{floatrow}
-\floatsetup[figure]{capposition=top}
,但当我尝试此操作时,在尝试编织到PDF时出现此错误:

"! Package floatrow Error: Do not use float package with floatrow.
(floatrow)                The latter will be skipped.

Error: Failed to compile test.tex. See test.log for more info.
Execution stopped"
日志末尾有以下内容:

!==>发生致命错误,未生成输出PDF文件

这些是我在yaml中的“标题包括”:

- \usepackage[below]{placeins}
- \usepackage{setspace}
- \usepackage{flafter}
- \usepackage{chngcntr}
- \counterwithout{figure}{section}
- \counterwithout{table}{section}
- \usepackage{microtype}
- \floatplacement{figure}{H}
- \floatplacement{table}{H}
- \usepackage{floatrow}
- \floatsetup[figure]{capposition=top}
我的软件包使用的是:

library(plyr)
library(readxl)
library(xlsx)
library(markdown)
library(rmarkdown)
library(knitr)
library(kableExtra)
library(ggplot2)
library(reshape2)
library(httpuv)
formatlibrary(caTools)
有解决办法吗?或者有没有其他方法可以将人物的标题置于人物之上

Edit1:我把它缩小到了导致这个问题的包“kableExtra”,即使“float”包在sessionInfo()中没有显示为已加载。删除它及其所有代码后,我遇到了另一个错误:

! Undefined control sequence.
<recently read> \floatplacement 
从yaml上,它成功地进行了编织。标题现在在顶部,但其他一切现在都一团糟。我可能不需要“kableExtra”包就可以管理,但如果没有yaml中的“floatplacement”就不行


任何建议都将不胜感激

我也有这个错误。花了一段时间才弄明白,但是如果您阻止
kableExtra
加载任何
LaTeX
包,那么
float
floatrow
之间就不会有冲突

因此,将YAML标头指定为正常值:

output:
  bookdown::pdf_document2:
    fig_caption: yes
header-includes: 
  - \usepackage{floatrow}
  - \floatsetup[figure]{capposition=top}
  - \floatsetup[table]{capposition=top}
  - \floatplacement{figure}{H}
  - \floatplacement{table}{H}
---
并确保在加载
kableExtra

options(kableExtra.latex.load_packages = FALSE)
library(kableExtra)

根据您使用kableExtra的方式,您可能需要在YAML标题中指定其他包(例如,如果突出显示行颜色)。
kableExtra
使用的软件包的完整列表可在第3页找到。

一个简单的解决方案是在ggplots中使用副标题而不是标题。嗯,我在chunk选项中使用了cap.fig,这样我就能够在整个文本中引用数字。如果我使用字幕,我就不能这样做,对吗?
options(kableExtra.latex.load_packages = FALSE)
library(kableExtra)