3

这是我的代码,它应该显示在彼此相邻的图形上,但没有这样做。事实上,sweave 部分没有被解释。

\begin{figure}[h]
\begin{center} 
\begin{minipage}[t]{.485\linewidth} % 
 <<fig=true,echo=false>>=
 print(graph2)
 @
 \newline{\color{red}{\caption{\label{idx}Graph one}}}    
 \end{minipage}
 \hspace{.02\linewidth}
  \begin{minipage}[t]{.485\linewidth}% 
  <<fig=true,echo=false>>=
 print(graph2)
 @
 \newline{\color{red}{ \caption{\label{pb}Graph two}}}
 \end{minipage}

 \end{center}
 \end{figure}

graph1,graph2 只是由 qplot 创建的任何给定图形。这两个图表在 minipage 之外都可以正常工作。我知道这个话题一直存在,但不知何故,我无法找到解决方案来让其他人像这样

另外我还有一个小问题:阻止 Sweave 生成​​ .eps 和 .pdf 的论据是什么?手册只是说明它是默认值。但是我确信我只使用 pdflatex,因此不需要 .eps。

4

2 回答 2

3

嗯,这实际上是作弊,但在约翰的博客上找到了一个很好的解决方法。它没有使用 minipage,而是通过使用 subfigure 来完成。Subfigure 对 Sweave 没有任何问题。好的!

如果您对此解决方案感兴趣,请查看此站点。我仍然想知道如何使用 minipage 来做到这一点:)

于 2010-08-03T22:32:33.370 回答
2

替换\hspace\hfill诀窍。这些图来自ggplot文档。minipage也可以很好地将两个xtable并排放置,或者一张桌子和一个地块。

\documentclass{article}
\usepackage{color}
\begin{document}

\begin{figure}[h]
\begin{center} 

\begin{minipage}[t]{.49\linewidth} % 
<<fig=true,echo=false>>=
require(ggplot2)

df <- data.frame(gp = factor(rep(letters[1:3], each = 10)),
                 y = rnorm(30))
library(plyr)
ds <- ddply(df, .(gp), summarise, mean = mean(y), sd = sd(y))

ggplot(df, aes(x = gp, y = y)) +
   geom_point() +
   geom_point(data = ds, aes(y = mean),colour = 'red', size = 3)

@
\newline{\color{red}{\caption{\label{idx}Graph one}}}    
\end{minipage}
\hfill
\begin{minipage}[t]{.49\linewidth}
<<fig=true,echo=false>>=
ggplot() +
  geom_point(data = df, aes(x = gp, y = y)) +
  geom_point(data = ds, aes(x = gp, y = mean),
                        colour = 'red', size = 3) +
  geom_errorbar(data = ds, aes(x = gp, y = mean,
                    ymin = mean - sd, ymax = mean + sd),
                    colour = 'red', width = 0.4)
@
\newline{\color{red}{ \caption{\label{pb}Graph two}}}
\end{minipage}

\end{center}
\end{figure}

\end{document}

在此处输入图像描述

于 2012-08-22T20:43:27.470 回答