Frage

Ich versuche, einen Sweave-Bericht zu erstellen, der einige mit ggplot2 erstellte Grafiken enthält.Obwohl ich auf lange Sicht nach einer Umgebung suche, verwende ich hier einfach eine einfache .Rnw-Datei, die nur den Code und die Handlung enthält

 \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}

Leider wird das Diagramm nicht erstellt, ich erhalte nur eine beschädigte PDF- und EPS-Datei.Allerdings bekomme ich eine schöne .tex-Datei, die bis auf die Grafiken zu funktionieren scheint.Ich verwende den folgenden Basiscode, um es zu erstellen:

 Sweave("myfile.Rnw")

Ich habe gerade einen älteren Beitrag im Internet gefunden, in dem Probleme mit Transparenz und Sweave/ggplot2 diskutiert wurden, aber nichts, was hätte helfen können.Ich habe es auch mit dem entspannten Paket probiert, was aber auch nicht geholfen hat.Gibt es übrigens Neuigkeiten zum Decumar-Paket?

War es hilfreich?

Lösung

qplot() erzeugt Objekte, keine grafische Ausgabe.Beim Ausführen mag es so aussehen, aber das liegt daran, dass R ohne Zuweisung automatisch die Ausgabe von druckt qplot().Um es in Sweave zu integrieren, wickeln Sie es entweder ein print() um qplot(), oder weisen Sie die Ausgabe von zu qplot() zu etwas, dann packen Sie es ein print().

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

Das sollte funktionieren.ich benutze ggplot2 Grafiken in meinen Sweave-Dokumenten ständig.

Andere Tipps

Sie müssen es umgenauen, um es umgibt, um es in der Verschlüsselung zu machen.

eigentlich, während beide früheren Antworten richtig sind, ist Ihr Problem etwas anderes.

Sie müssen sicherstellen, dass sich der gesamte Codeblock links von der Seite befindet (abgesehen von der IFLATUNG in Funktionen).Wieder habe ich keine Ahnung, warum, aber das verursacht Probleme, um zu verschwinden.

Nachdem Sie sichergestellt haben, dass der gesamte Code (und der Header / Fußzeile für Code-Chunk) auf der linken Seite der Seite (und Hinzufügen einer Druckanweisung), funktioniert Ihr Beispiel für mich.

Übrigens habe ich heute gelernt, dass Sie eine Umgebung in der Nähe Ihres Codes in feave-Dokumenten erstellen können (was ich mir nicht bewusst war, und wird mich viel Zeit sparen).Gute alte Stackoverflow, lehrt Sie etwas Neues, auch wenn Sie eine Frage beantworten!

hoffe das hilft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top