2010/02/08

Rapache (mod_r) を使って R で CGI を書くよ。グラフ画像出力編

前回のつづきです。前回は rapache の設定と簡単なCGIを作ってみました。今度は画像を出力して表示する CGI を作ります。内容は、乱数を適当に作ってヒストグラムを作画するCGIです。画像はランダムなファイル名で保存します。

<<<
# Functions
header <- function(contenttype) {
setContentType(contenttype)
}
html.head <- function(content) {
cat("\n")
cat(content)
cat("\n")
}
html.body <- function(content) {
cat("\n")
cat(content)
cat("\n")
}
randomFileName <- function(prefix, postfix) {
filename <- paste(
prefix,
sprintf("%08d", as.integer(runif(1, 0, 10^7))),
postfix,
sep=""
)
return(filename)
}

# Main
image_dir <- "/var/www/images"
filename <- randomFileName("hist_", ".png")
filepath <- paste(image_dir, filename, sep="/")

data <- rnorm(1000)

# output html
header("text/html")
html.head("Test")

png(filepath)
hist(data)
dev.off()

html.body(
paste(
'',
sep=""
)
)
>>>

リロードすると画像が変わるのがわかると思います。次回はもっと役に立つものを作ってみます。



寧々さんかわいいです。