这是我的代码,它应该显示为彼此相邻的图形,但没有这样做。实际上,没有解释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创建的任何给定图形。两个图表在小型设备外都可以正常工作。我知道这个话题已经存在,但不知怎的,我无法得到解决方案,让其他像这样的人one。
另外,我有一个小问题:防止Sweave产生.eps和.pdf的论点是什么?手册只是声明它是默认值。但是我确信我只使用pdflatex,因此不需要.eps。
答案 0 :(得分:3)
呃,这实际上是在作弊,但在John的博客上发现了一个很好的解决方法。它不是使用minipage,而是通过使用子图来完成它。子图与Sweave没有任何问题。太好了!
如果您对此解决方案感兴趣,请查看此site。我仍然想知道如何使用minipage :)
答案 1 :(得分: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}