Subfigures oder Subcaptions mit knitr?
Ist es möglich, zu produzieren subfigures (mit zugehörigen subcaptions) mit knitr? Hier ist ein minimales Beispiel:
\documentclass{article}
\begin{document}
<<echo = FALSE, fig.cap = c("Some numbers.", "Some more numbers."), out.width = "0.5\\textwidth", fig.align = "center">>=
plot(1:10)
plot(30:100)
@
\end{document}
Diese Ergebnisse in beiden Figuren gekennzeichnet in Abbildung 1 und Abbildung 2 mit Beschriftungen definiert als (jeweils). Aber ich will, dass Sie mit der Bezeichnung "Abbildung 1a" und "Abbildung 1b", wie Sie das tun können, mit dem LaTeX-Paket subcaption.
Ich weiß, es ist ein knitr Optionen "Abb.env", aber das spielt es nicht lösen (zumindest nicht mit, zum Beispiel "Abb.env = 'subfigure'"). Es gibt einen ähnlichen Beitrag hier über Sweave, aber die Lösung ist unelegant hack: http://texblog.org/2011/12/01/sweave-subfig-controlling-figure-size-and-placement/
- Es ist durchaus möglich, in knitr, denn Sie können neu die
plot
Haken vonknit_hooks$set(plot = function(x, options) {...})
Sie und ordnen Sie die Grundstücke in welcher Weise auch immer Sie wollen. Das problem ist nur es kann eine Weile dauern, für Sie zu verstehen, Innenteile: github.com/yihui/knitr/blob/master/R/hooks-latex.R Es klingt wie eine gute Idee für mich, um Unterstützung subfigures intern, und Sie können ein feature-request hier: github.com/yihui/knitr/issues vielen Dank! - Cool! Funktion angefordert wurde, die auf github zur Verfügung - und ich sehe, du hast bereits den Fehdehandschuh.
- Bestimmte feature-request: github.com/yihui/knitr/issues/388
Du musst angemeldet sein, um einen Kommentar abzugeben.
knitr
(>= v1.5) unterstützt subfigures. Sie können die chunk-optionfig.subcap
. Hier ist ein minimal-Beispiel.plot.lm
zu zeigen, in einer 2x2-Konfiguration, wobei jeder plot ist ein subfigure? (I. e. nicht mitpar(mfrow=c(2,2))
, aber mit `\\` Grundstück zwischen 2 und 3. Sollte ich werfe einen feature request auf GitHub? Oder gibt es da eine einfache Lösung? Danke !subcaption
statt dieser. Wahrscheinlich wird es uns ermöglichen, die Nutzung von sub-Tabelle als auch.Können Sie die Verwendung von Latex ist subcaption Paket.
Aktualisierung der Antwort von Yihui um die änderungen in Rmarkdown in den letzten Jahren, und auch in der Verlagerung von Rnw-Dateien.
Aufgeführt, die innerhalb der knitr chunk-Optionen, subfigures erfordert einige zusätzliche Einstellungen in den chunk-header:
fig.subcap
ist eine Liste der Beschriftungen für die subfiguresfig.ncol
: die Anzahl der Spalten von subfiguresout.width
: die Bildbreite der Figuren. Sie wird in der Regel setzen diese 100% geteilt durch die Anzahl von sub-Spalten.Subfigures erfordern auch das LaTeX-Paket
subfig
. Die Linie\usepackage{subfig}
muss es daher sein, die innerhalb des YAML, oder wenn Sie ein externes tex-Vorlage können Sie dies hinzufügen dieser Datei.Hier ist eine grundlegende Vorlage:
Mit ggplot2
Wenn Sie Plotten subfigures enthält mehrere ggplot Grundstücke, können chaotisch, da Sie nicht zwischen den Parzellen. Sie können prüfen wollen, hier posten, wie cowplot zu zwingen ggplots haben die gleichen Abmessungen.
In diesem stackoverflow post wird Ihnen helfen, sicherzustellen, dass alle Grundstücke line-up, wie im Bild unten gezeigt:
Die Bereitstellung einer Liste zu subfigures
Gerade teilen, dies als eine mögliche Erweiterung der subfigures. Etwas, was ich gerne verwenden Sie für die Fütterung von Ihnen eine Liste von zahlen. Vielleicht haben Sie produziert haben eine Funktion, die Sie ausführen müssen, die auf vier verschiedene trial-Gruppen, oder in vier getrennten Orten. Zum Beispiel, hier ist eine Liste von vier Städten in Großbritannien:
Diese Liste kann dann verwendet werden, innerhalb der
fig.sub
und einlapply
zur Erstellung einer Liste von subfigures. Wenn Sie ausführen müssen, um dieDies macht die subfigures Recht robust. Wenn ich brauche, um mein Modell in einem extra paar Städte, alles, was ich tun müssen, ist fügen Sie zusätzliche Werte zu den
location
Liste und die sub-zahlen die gleiche Länge.