2013-06-11 2 views
1

В настоящее время я играю с R и LaTeX через Knitr.ggplot2 фигурные поля в LaTeX Beamer via Knitr

Пытаясь сделать очень простую слайд-панель с лучом, я столкнулся с небольшой проблемой. Когда я использую метод \ includegraphics для вставки изображения, он красиво занимает ту же ширину, что и длина текста. Однако, когда я использую R-код для создания диаграммы ggplot2, ширина диаграммы, по-видимому, ограничена чем-то около 2/3 длины текста (что очень мало с диаграммами информации). Это происходит даже при очень широкой ширине фигуры ...

Есть ли способ удалить все дополнительные поля, которые, как представляется, добавляются цифрами R?

Код ниже воспроизводит ситуацию.

\documentclass{beamer} 

\begin{document} 
\SweaveOpts{concordance=TRUE} 

\begin{frame}[fragile]{A sample slide} 

Some text to show text length, Some text to show text length, Some text to show text length, Some text to show text length. 

\begin{center} 

<<figureExample, echo=False, fig=true, out.width=15>>= 
library(ggplot2) 
qplot(displ, hwy, data = mpg, colour = factor(cyl)) + 
    theme(plot.background = element_rect(fill='green', colour='red')) + 
    theme(plot.margin = unit(c(0,0,0,0), "cm")) 
@ 

\end{center} 
\end{frame} 

\end{document} 

Любая помощь будет супер цениться, я попробовал все, что я смог найти :( Заранее спасибо!

+0

Вы нашли [документацию] (http://yihui.name/knitr/options) для knitr? – joran

+0

Привет, я сделал и подумал, что «out.width» будет делать трюки, но не будет успеха. Посмотрим еще раз. Спасибо, что упомянули об этом. – xav

+0

Ну, вы не используете out.width в своем примере, и использование этого параметра chunk работает для меня. Поэтому вам нужно будет предоставить более подробный пример, демонстрирующий, что он не работает. (Несвязанный: вы, кажется, используете довольно старую версию ggplot2.) – joran

ответ

3

Как @joran упоминалось в комментариях, \SweaveOpts{concordance=TRUE} не должен быть там. Если RStudio настаивает добавив его в свой документ, я очень скептически отношусь к вашим настройкам RStudio - кажется, вы используете Sweave вместо knitr для компиляции этого документа (в этом случае RStudio добавляет это, если вы проверили параметр согласования). до Tools -> Options -> Sweave, и посмотрите, изменили ли вы значение по умолчанию Sweave на knitr.

Sweave устанавливает ширину фигуры до .8\textwidth по умолчанию, и это может объяснить проблему, которую вы видели.

Также примечание echo=False, fig=true недействительны knitrchunk options. Вам нужно использовать TRUE/FALSE. Для out.width, вы должны дать ему явный блок, такой как in или cm.

+0

Привет, Yihui, вы были правы: мой RStudio был неправильно настроен. Сейчас все работает.Большое вам спасибо за ответ (и потрясающий книжник)! – xav

+0

@xav Я рад, что он работает сейчас. –

Смежные вопросы