グラフィックス参考実例集:パイチャート

(グラフィックス参考実例集に戻る。Rのグラフィックスパラメータを参照する。)

説明するまでもない円グラフ(パイチャート)。関数pieで円グラフを描くことができます。引数にはベクトルを与えます。水平軸正方向(3時の位置)から反時計回りに、それぞれの値の比率で円が分割されます。
重要:雑誌や新聞などでは普通は,上の定義とは違う円グラフ,すなわち「12 時の位置から時計回りに」スライスが描かれる。このような円グラフを描くために,いつの頃か(R 2.2.0 で),引数に clockwise が加えられた。clockwize=TRUE とすると,「12 時の位置から時計回りに」スライスを描いてくれる。しかし,デフォルトは clockwise=FALSE なので注意。もっとも,円グラフは色々な意味で,「使わない方が良いグラフ」とされている。

> pie(1:5)

のように、単にベクトルだけを与えるのが最も簡単な使い方ですが、他の引数を指定することによって細かな調整を行なうことができます。

  • barplotと同様に、関数pieにもdensity、angle、 colなどの引数が使えます。これらの引数によって塗りつぶしやハッチングが行なえます。 引数namesに各扇形のラベルを指定することができます。
  • 引数 inner とouter、rotateでラベルの位置、向きなどを細かく調整することができます。
  • 引数explodeには論理ベクトル、あるいはas.integerで整数に変換された数字を指定します。この引数でTRUEあるいは番号で指定された要素に対応する扇形を、円の中心から少し切り離すことによって目立たせます。

pie で得られる解説によれば、pie chart における角度による比較よりも、例えば dot chart における長さによる比較の方がデータの大小のより正確な情報を与える。


rainbow カラーパレット24段階で使用。データを度数で与える

pie1 <- function () {
  pie(rep(1, 24), col = rainbow(24), radius = 0.9)
}
 left

既定の色指定と注釈。データを比率で与える

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
}
 left

色の個別指定

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"))
}
 left

グレイスケールを6段階(0.4,0.5,...,1.0)で使用

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)))
}
 left

線ハッチング。density で線密度指定、angle で線の角度を変える

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)
}
 left

rainbow カラーパレットを細かく指定することにより連続的変化効果(境界線を書かない)

pie6 <- function () {
  n <- 200
  pie(rep(1,n), labels="", col=rainbow(n), border=NA,
      main = "pie(*, labels=\"\", col=rainbow(n), border=NA,..")
}
 left

添付ファイル: filepie4.png 1661件 [詳細] filepie1.png 2076件 [詳細] filepie3.png 1666件 [詳細] filepie6.png 1753件 [詳細] filepie5.png 1578件 [詳細] filepie8.png 1656件 [詳細] filepie2.png 969件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Google
WWW を検索 OKADAJP.ORG を検索
Last-modified: 2015-03-01 (日) 01:15:59 (1541d)