Ich möchte eine einzige Figur in R mit zwei Plots in einer Markdown-Datei mit knitr
machen. Normalerweise ist dies mit oder par(mfrow=c(1,2))
einfach zu tun. Kann ich das mit knitr
machen, oder wird es immer zwei getrennte Zahlen geben?Verwenden von Layout mit Knitr
Hier ist ein Mindestarbeitsbeispiel, das eine Datei ./junk.Rmd
und ./junk.md
in Ihrem Arbeitsverzeichnis zusammen mit zwei Dateien ./figure/junkislands1.png
(die nur die erste Handlung enthalten) genannt erzeugt und ./figure/junkislands2.png
(die beiden Grundstücke enthält, die ich will).
require(knitr)
temp <- "```{r junkislands, fig.width=8, fig.height=5}
layout(t(1:2))
pie(islands)
barplot(islands)
```"
cat(temp, file="junk.Rmd")
knit("junk.Rmd", "junk.md")
Das Problem ist nicht so sehr, dass es zwei PNG-Dateien erzeugt, sondern vielmehr, dass die Abschlags-Datei junk.md
enthält beide.
Wenn ich diese Markdown in HTML mache, enthält es beide. Png-Dateien, wenn ich nur die mit beiden Zahlen geplottet haben will.
Hier ist die Datei, die von junk.md
knitr generiert:
```r
par(mfrow = c(1, 2))
pie(islands)
```
![plot of chunk junkislands](figure/junkislands1.png)
```r
barplot(islands)
```
![plot of chunk junkislands](figure/junkislands2.png)
streng genommen gibt, ist dies ein Fehler von 'knitr' (https://github.com/yihui/knitr/issues/292); Ich werde versuchen, es später zu beheben; danke –
Ich habe [behoben] (https://github.com/yihui/knitr/commit/3508ddb86f0068c17570b3c71dc1e79414041627) diesen Fehler in der Entwicklungsversion: https://github.com/yihui/knitr#readme Sie können sicherlich 'fig verwenden .keep = 'last'', aber das wird nicht mehr benötigt. –