如何在 sweave 中为图形添加标题

如何在 sweave 中为图形添加标题

我有这个 sweave 代码。我需要给图添加标题。我正在这样做,但看起来我看到的图位于{数据分析}部分之前:

    \documentclass[letter,12pt]{article}


\usepackage{amsmath}
\usepackage{amscd}
\usepackage{ifthen}
\usepackage{hyperref}
\usepackage[utf8]{inputenc}
\usepackage[top=1.0in, bottom=1.0in, left=0.2in, right=0.2in]{geometry}
\usepackage{float} 
\usepackage{rotating}
\usepackage{longtable}
\usepackage{tabularx}

\begin{document}
\SweaveOpts{concordance=TRUE}
\setlength\parindent{2pt}
\setkeys{Gin}{width=1\textwidth}
\title{THI IS A TEST DOCUMENT}

\maketitle
\pagebreak
\tableofcontents
\pagebreak

<<LBY, echo=FALSE>>=
library(zoo)
library(scales)
library(ggplot2)
library(xtable)
library(forecast)
library(data.table)
library(xtable)
library(RODBC)
library(chron)
library(xts)
library(grid)
@


\section{SAMPLE REPORT}

\subsection{PLOT1}


\begin{figure}
\begin{center}

<<fig=TRUE,echo=FALSE, width=15, height=10>>=
plot(1:5)

@


\caption{PLOT1.}
\end{center}
\end{figure}


\begin{figure}
\begin{center}

<<fig=TRUE,echo=FALSE, width=15, height=10>>=

plot(100:1000)

@

\caption{PLOT2.}
\end{center}
\end{figure}



\end{document}

我不确定这里发生了什么。我需要给这些图添加标题。知道为什么 PLOT1 显示在 {SAMPLE REPORT} 部分之前吗?

答案1

你可以使用包caption和...一起minipage

这是一个 mwe:

\documentclass{article}
\usepackage{graphicx}
\usepackage{lipsum}
\usepackage{caption}
\usepackage[textwidth=7in]{geometry}
\title{An examples}
\author{Matthew Perkins}
\begin{document}
\maketitle
\subsection{Data.}
\lipsum[2]
\begin{minipage}{0.8\textwidth}
<<fig=TRUE, width=4, height=3, echo=false>>=
plot(seq(1,10))
@

\captionof{figure}[Abbrviated Caption]{This is the full length caption, descibing this fascinating data.}
\end{minipage}

\listoffigures
\end{document}

答案2

因此,Sweave 基本上使用的是 latex。在 latex 世界中,图形是存在于正常文档流之外的浮动元素。这允许它们移动到它们在整体布局中看起来最好的位置。要强制将图形放置在特定位置,您可以尝试

\begin{figure}[H]

其中“H”表示就在这里。

相关内容