でフィギュアの詳細を定義私はこのことについての素晴らしいブログの記事を見つけました。
続きを読むat Michael J Williams' blog - 私は恥知らずにコードを塗りつぶしました。 チャンクオプションをresults = "asis"に設定することを忘れないでください。
ループを使用して複数のプロットを出力したいが、それぞれのサイズが異なるようにしたいとします。 (再び、私はコピー&ペーストここだ)次の関数を定義します。
subchunkify <- function(g, fig_height=7, fig_width=5) {
g_deparsed <- paste0(deparse(
function() {g}
), collapse = '')
sub_chunk <- paste0("
`","``{r sub_chunk_", floor(runif(1) * 10000), ", fig.height=",
fig_height, ", fig.width=", fig_width, ", echo=FALSE}",
"\n(",
g_deparsed
, ")()",
"\n`","``
")
cat(knitr::knit(text = knitr::knit_expand(text = sub_chunk), quiet = TRUE))
}
そして、あなた自身のフィギュアのサイズを定義し、このような関数を使用します。
```{r echo=FALSE, results='asis'}
g <- ggplot(economics, aes(date, unemploy)) +
geom_line()
subchunkify(g, 10, 3)
subchunkify(g, 7, 7)
```
またはデータを聞かせてマイケルはあなたが注意しなければならないと警告しているポストで
```{r echo=FALSE, results='asis'}
g <- ggplot(economics, aes(date, unemploy)) +
geom_line()
for (i in seq(2, 5)) {
subchunkify(g, i/2, i)
}
```
::サイズを定義
私たちはresults = 'asis'を使用しているので、テキストや見出しなどをチャンクから出力したい場合は、MarkdownではなくHTMLを使用する必要があります。これを行うにはcat() print()ではありません。詳細は、そのlovely blog postにオーバーに
g <- ggplot(economics, aes(date, unemploy)) +
geom_line()
cat('<h2>A Small Square Plot</h2>')
subchunkify(g, 3, 3)
ここでも、ない私の仕事...頭:たとえば。これはあなたのために働くことを望みます。
私はこの答えが好きです。私はちょうど(以前はそれを定義することなく)現在のチャンクを見てみたいと思っています。私は「前」フックで遊んでいて、何かを得ることができるかどうかを試してみました。これまでのサイコロはありません。 –
@BrandonBertelsen私は理解していますが、 'knitr'はチャンクを評価する前に適切なサイズのグラフィカルデバイスを開く必要があるので、前のチャンクのコードを評価して後者のオブジェクトを使用する必要がありますチャンク。 –
@BrandonBertelsen私はYihuiよりも良いとは言えません。ちょうど私にとっては、init.chunckのように、すべてのパラメータを1つのチャンクに設定するほうが読みやすいようになっています。 – agstudy