裏 RjpWiki

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

ヒストグラムも汚い

2011年03月03日 | ブログラミング

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=":"))

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 2 のべき乗の先頭桁 | トップ | R プログラムの抽出 »
最新の画像もっと見る

コメントを投稿

ブログラミング」カテゴリの最新記事