2011年6月26日日曜日

ggplot2で美円グラフを簡単に書く方法。

統計解析ツールRにはggplot2というパッケージがあり、このパッケージを使うことで
美しいグラフが書ける。最初から引用で恐縮だが、(以下引用)
Rによるオープン・データの可視化(2) - @IT http://www.atmarkit.co.jp/fcoding/articles/stat/04/stat04a.html

ggplot2は、Rユーザーの間ではデファクトスタンダードのツールとなっているグラフィックパッケージです。
ggplot2の設計思想には、SYSTAT Software Incの計算機科学者 Leland Wilkinson氏が提唱する「グラフィック文法(The Grammar of Graphics)」というものがあります。この「グラフィック文法」は、見栄えの良いグラフを作るという非本質的な作業にユーザーに注力させるのではなく、データが本来持っている姿をグラフに反映させることを目指して提唱されているルールです。
(引用終わり)

とのことらしい。とはいえ、ggplot2のヘルプは体系化されているものの、とっつきにくいので、簡単に
円グラフを綺麗にかきたいわん、というときに参考になればと思い、筆を取った。
とはいえ、残念ながらこれもこの記事<http://www.r-bloggers.com/ggplot-and-concepts-%E2%80%94-what%E2%80%99s-right-and-what%E2%80%99s-wrong/>を大いに参考にしている(笑)
最初にggplot2のライブラリをインストールしていないかたは、ggplot2のパッケージのインストールをしておいてほしい。
さあ、無限のかなたへ一歩ずつ。

library(ggplot2)
pet <- data.frame(animals=c("dog", "cat","hamster","rabbit"), val=c(80,50,10,7))
pet
#円グラフ
ggplot(pet, aes(x="", y=val, fill=animals)) + geom_bar(width=1) + coord_polar("y")
#ちなみにデフォルトの円グラフで書くとこんな感じになる。
pie(pet[,2],labels=pet[,1],clockwise=TRUE)

+ geom_bar(width=1)までで止めると棒グラフが書けます。 もう少し詳しい解説は後で追加するかも。デフォルトだとアルファベット順に要素が並んでます。 これで取り急ぎ、きれいな円グラフを書くことは出来ます。
ggplot2を使用した場合
ggplot2を使用しない場合(pie)

ほら、全然イメージ違うでしょ?

0 件のコメント:

コメントを投稿