http://scienceoss.com/2008/03/ に ggplot2 でヒストグラムを描く例がある。
library(ggplot2)
ggplot(iris)+aes(x=Sepal.Width)+geom_histogram()+facet_grid(Species~.)
というように,簡単な指定で描けるが,改めてみるまでもなく汚い。
灰色の地に灰色の棒はみじめ。プログラムを実際に動かしてみると,私の環境では,棒は真っ黒。
まあ,棒の色や地の色は変更することもできるのでどうということはないのだけど。
困るのは,ヒストグラムの階級が細かすぎるのと,きれいな数値でないこと。
まあ,自分で変えることはできるよというメッセージも出るけど,デフォルトがこれではちょっと困る。
このデータの最小値は2なのだけど,2のデータがどこに出るかと言えば「~2」のところにある。
欧米では日本と違って,「○○より大きく,□□以下」という階級定義なので,まあ,やむを得ない。
これも,階級の終わりがオープンかクローズかの指定もできるだろうけど,もはや,やる気が失せる。
さて,以下のようなプログラムで描いてみるとどうかな。
layout(matrix(1:3), 3)
old <- par(mar=c(3, 3, 0.1, 1), mgp=c(1.8, 0.6, 0))
sw <- split(iris$Sepal.Width, iris$Species)
xlim <- range(pretty(iris$Sepal.Width))
breaks <- seq(xlim[1], xlim[2], by=diff(xlim)/20)
ylim <- c(0, max(sapply(sw, function(x) table(cut(x, breaks, right=FALSE)))))
for (i in names(sw)) {
a <- hist(sw[[i]], breaks=breaks, xlim=xlim, ylim=ylim, right=FALSE,
col="aliceblue", main="", xlab=paste("Sepal.Width", i, sep=":"))
※コメント投稿者のブログIDはブログ作成者のみに通知されます