12

ggplot2を使用してジオメトリのギャラリーを作成しようとしていknitrます。これをすばやく行うために、組み込みのexamples を使用してコンテンツを入力することを考えました。

いくつかの試行錯誤の後、私はこの点に到達しました:

\documentclass[a4paper,titlepage]{tufte-handout}
\usepackage{pdflscape}
\usepackage{graphicx}
\usepackage{alltt}

<<setup, include=FALSE, cache=FALSE>>=
options(replace.assign=TRUE,tidy=TRUE)
library(ggplot2)
library(plyr)
library(scales)
geoms <- setdiff(apropos("^geom_"),"geom_blank")
@

\title{ggplot2 Gallery}

\begin{document}
\maketitle

<<examples, echo=FALSE, comment=NA>>=
for(i in geoms){
    writeLines(paste0("\\section{",gsub("_","\\\\_",i),"}"))
    do.call("example",list(i))
}
@

\end{document}

しかし、まだ解決できない問題がいくつかあります。

  • セクションの見出しが生成されるように、チャンク内でオプションを組み合わせmarkupて結果を出すことができないようです。asis(これは後でドキュメントのナビゲーションに重要になります)。チャンク内で LaTex を作成する他の方法はありますか?

  • エラーをスローする例がいくつかあります (これがgeom_blank除外される理由です)。Knitrのドキュメントには、エラーが発生した場合でも計算が続行されると記載されていますが、続行されるのはニット プロセスのみのようです。例のループはその時点で停止します。エラーである例の部分を回避する方法はありますか?

  • コード出力は、example構文が強調表示されていません。(便利ですが必須ではありません)。

4

1 に答える 1

13

完全なコードについては、021-ggplot2-geoms.Rnwを参照してください。基本的な考え方は、コード チャンクを編成する前に構築することです。コードは短いので、あまり説明する必要はないかもしれません。

理論的には、次のようなものを取得できるはずです (200 ページ以上のggplot2例)。

Knitr によって生成された ggplot2 geoms

于 2012-07-25T19:24:48.480 に答える