sweave и ggplot2: никакой pdfs не сгенерирован вообще

Я пробую, создают отчет о sweave, который содержит некоторую графику, сделанную с ggplot2. Хотя я ищу некоторую среду в течение длительного периода – я просто использую простой.Rnw файл здесь, который только содержит код и график

 \documentclass[a4paper]{article}
 \SweaveOpts{echo=FALSE}
 \usepackage{a4wide}

  \begin{document}

  \begin{figure}[htbp]
  \begin{center}
 <<>>=
 library(ggplot2)
 x=rnorm(100)
 qplot(x)

 @
 \caption{My Graph}
 \end{center}
  \end{figure}
\end{document}

К сожалению, график не создается, я только получаю поврежденный .pdf и .eps файл. Хотя я получаю хороший .tex файл, который, кажется, работает за исключением графики. Я использую следующий абсолютный код для создания его:

 Sweave("myfile.Rnw")

Я просто нашел некоторое более старое сообщение в сети, которые обсуждали проблемы с прозрачностью и sweave / ggplot2, но ничто, что, возможно, помогло. Я также попробовал расслабленный пакет, который не помог также. Btw, там какие-либо новости о decumar пакете?

13
задан ROMANIA_engineer 29 October 2017 в 19:42
поделиться

2 ответа

qplot () создает объекты, а не графический вывод. Может показаться, что это так, когда вы его запускаете, но это потому, что без присваивания R автоматически распечатывает вывод qplot () . Чтобы интегрировать его в Sweave, либо оберните print () вокруг qplot () , либо назначьте вывод qplot () чему-то, затем оберните его в печать () .

...
<<fig = T, echo = F>>=
 library(ggplot2)
 x=rnorm(100)
 p <- qplot(x)
 print(p)
@
...

Это должно сработать. Я все время использую графику ggplot2 в своих документах по Sweave.

19
ответ дан 1 December 2019 в 22:06
поделиться

Вы должны обернуть его вокруг print(), чтобы заставить его работать в sweave.

3
ответ дан 1 December 2019 в 22:06
поделиться
Другие вопросы по тегам:

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