裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

Sewave-14

2011年12月20日 | ブログラミング

figure チャンクを使って図を挿入するのは記述が面倒くさい。
そこで,以下のような関数を作っておき,results=tex を使って作図した結果を挿入する。

xfigure <- function(src, fn, caption="", label=fn, size=320, width=6, height=6,
                 mgp=c(1.8, 0.6, 0), mar=c(3, 3, 1, 1))
{
    pdf(sprintf("%s.pdf", fn), width=width, height=height)
    par(mgp=mgp, mar=mar)
    eval(parse(text=src))
    dev.off()
    header <- "\\begin{figure}[htbp]\\begin{center}"
    trailer <- sprintf("\\end{center}\\caption{%s}\\label{%s}\\end{figure}", caption, label)
    cat(sprintf("%s\\includegraphics[bb=0 0 %sin %sin, clip, width=%sbp]{%s.pdf}%s",
        header, width, height, size, fn, trailer))
}

利用は,以下のように。第一引数は作図プログラムを文字列で与える。

<<echo=false, results=tex>>=
xfigure("
hist(rnorm(1000))
abline(h=1:4*50, col=2, lty=2)
",
"testtest", "テストです", height=4)
@

結果は以下のようになる。いいね。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PVアクセスランキング にほんブログ村

PVアクセスランキング にほんブログ村