Как управлять размером / размер графика с ggplot2

Я использую ggplot2 (соответственно qplot) для генерации отчета с Sweave. Теперь я нуждаюсь в некоторой помощи с корректировкой размера графика. Я использую следующий код Sweave для включения его.

\begin{figure}[htbp]
\begin{center}
<<fig=true,echo=false>>=
print(mygraph)
@
\caption{MyCaption}
\end{center}
\end{figure}

Если я добавляю, что аргумент ширины (как показанный ниже) для графического изображения сжат вниз, но не действительно уменьшен.

<<fig=true,echo=false,width=3>>=

Если я использую ggsave () вместо этого, я мог бы использовать аргумент масштаба и влиять на размер получающегося файла pdf. Существует ли способ влиять на размеры графика, не сохраняя его (так как .pdf сгенерирован Sweave так или иначе)? Есть ли что-нибудь, что я должен добавить к своему коду qplot?

mygraph=qplot(date,value,data=graph1,geom="line",colour=variable,xlab="",ylab="")
+ scale_y_continuous(limits = c(-0.3,0.3))

Спасибо за любые предложения заранее!

8
задан Matt Bannert 29 July 2010 в 22:14
поделиться

2 ответа

Вместо того, чтобы делать это в ggplot2 , добавьте следующий код LaTeX перед фрагментом кода, в котором вы распечатываете график.

\SweaveOpts{width=x, height=y}

x и y - высота и ширина в дюймах.

Если есть конкретное соотношение сторон, которое вы хотели бы иметь для вашего сюжета, вы можете установить его в ggplot2 с помощью opts () . Если у меня нет какой-либо другой причины, я обычно стараюсь, чтобы мои графики были масштабированы по золотому сечению, согласно предложениям Тафте. Обычно у меня есть

...
SweaveOpts{width=8, height=5}
...
<<label = "makeplot", echo = F>>=
  p <- ggplot(mpg, aes(displ, hwy)) + 
    geom_point()+
    opts(aspect.ratio = 2/(1+sqrt(5)) )
@
...
\begin{figure}[htbp]
\begin{center}
<<fig=true,echo=false>>=
  print(p)
@
\caption{MyCaption}
\end{center}
\end{figure}
5
ответ дан 5 December 2019 в 21:15
поделиться

Параметры развертки ширина и высота влияют на размеры файла PDF, но не на размер рисунков в документе. Поместите что-то вроде

\setkeys{Gin}{width=0.4\textwidth}

после \ begin {document} , чтобы получить более мелкие участки.

Источник: Пособие по уборке , сек. 4.1.2

2
ответ дан 5 December 2019 в 21:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: