グラフィックス参考実例集:パイチャート
(グラフィックス参考実例集に戻る。Rのグラフィックスパラメータを参照する。)
説明するまでもない円グラフ(パイチャート)。関数pieで円グラフを描くことができます。引数にはベクトルを与えます。水平軸正方向(3時の位置)から反時計回りに、それぞれの値の比率で円が分割されます。
重要:雑誌や新聞などでは普通は,上の定義とは違う円グラフ,すなわち「12 時の位置から時計回りに」スライスが描かれる。このような円グラフを描くために,いつの頃か(R 2.2.0 で),引数に clockwise が加えられた。clockwize=TRUE とすると,「12 時の位置から時計回りに」スライスを描いてくれる。しかし,デフォルトは clockwise=FALSE なので注意。もっとも,円グラフは色々な意味で,「使わない方が良いグラフ」とされている。
> pie(1:5)
のように、単にベクトルだけを与えるのが最も簡単な使い方ですが、他の引数を指定することによって細かな調整を行なうことができます。
pie で得られる解説によれば、pie chart における角度による比較よりも、例えば dot chart における長さによる比較の方がデータの大小のより正確な情報を与える。
pie1 <- function () { pie(rep(1, 24), col = rainbow(24), radius = 0.9) }
pie2 <- function () { pie.sales <- c(0.12, 0.3, 0.26, 0.16, 0.04, 0.12) names(pie.sales) <- c("Blueberry", "Cherry", "Apple", "Boston Cream", "Other", "Vanilla Cream") pie(pie.sales) # default colours }
#ref(): The style ref(filename,pagename) is ambiguous and become obsolete. Please try ref(pagename/filename)
pie8 <- function () { pie.sales <- c(0.12, 0.15, 0.15, 0.16, 0.10, 0.16, 0.04, 0.12) pie(pie.sales) # default colours }
pie3 <- function () { pie.sales <- c(0.12, 0.3, 0.26, 0.16, 0.04, 0.12) pie(pie.sales, col = c("purple", "violetred1", "green3", "cornsilk", "cyan", "white")) }
pie4 <- function () { pie.sales <- c(0.12, 0.3, 0.26, 0.16, 0.04, 0.12) pie(pie.sales, col = gray(seq(0.4,1.0,length=6))) }
pie5 <- function () { pie.sales <- c(0.12, 0.3, 0.26, 0.16, 0.04, 0.12) pie(pie.sales, density = 10, angle = 15 + 10 * 1:6) }
pie6 <- function () { n <- 200 pie(rep(1,n), labels="", col=rainbow(n), border=NA, main = "pie(*, labels=\"\", col=rainbow(n), border=NA,..") }