Symfoware

Symfowareについての考察blog

R言語 棒グラフを描画する(通常、列挙、積み上げ、割合)

R言語で棒グラフを描画する方法を調べてみます。


barplot



棒グラフはbarplotで描画します。
最も簡単なサンプルはこんな感じ。


  1. png("image.png", width = 500, height = 300, pointsize = 12, bg = "white")
  2. # 棒グラフのデータ
  3. x <- 1:5
  4. # 棒グラフを描画
  5. barplot(x)
  6. graphics.off()



482_01.png



y軸の指定



軸名称の指定は、names.argで行います。


  1. png("image.png", width = 500, height = 300, pointsize = 12, bg = "white")
  2. # 棒グラフのデータ
  3. x <- 1:5
  4. # 軸名称のデータ
  5. titles <- c("A", "B", "C", "D", "E")
  6. # 棒グラフを描画
  7. barplot(x, names.arg=titles)
  8. graphics.off()



482_02.png




グラフの周りに線を描画



グラフの周りに線を書きたいときはboxを使用すると良いようです。


  1. png("image.png", width = 500, height = 300, pointsize = 12, bg = "white")
  2. # 棒グラフのデータ
  3. x <- 1:5
  4. # 軸名称のデータ
  5. titles <- c("A", "B", "C", "D", "E")
  6. # 棒グラフを描画
  7. barplot(x, names.arg=titles, ylim=c(0, 6))
  8. box("plot",lty=1)
  9. graphics.off()



482_03.png




棒グラフの色を指定



グラフのバーの色を指定するには、colに色情報のベクトルを渡します。


  1. png("image.png", width = 500, height = 300, pointsize = 12, bg = "white")
  2. # 棒グラフのデータ
  3. x <- 1:5
  4. # 軸名称のデータ
  5. titles <- c("A", "B", "C", "D", "E")
  6. # グラフの色データ
  7. color=c("red", "blue", "yellow", "green", "purple")
  8. # 棒グラフを描画
  9. barplot(x, names.arg=titles, col=color)
  10. graphics.off()



482_04.png




2つの棒グラフを並べて描画する



前月と今月と言ったように、棒グラフを並べて描画し比較したい場合。
barplotにmatrixデータを渡します。

matrixのnrowが、なん個のデータをひとまとまりで扱うか。
2を指定すると、2つのデータをひとまとまりとして扱います。

beside=Tで、2つの棒を並べて描画してくれるようになります。


  1. png("image.png", width = 500, height = 300, pointsize = 12, bg = "white")
  2. # 棒グラフのデータ
  3. x <- 1:6
  4. m <- matrix(x, nrow=2)
  5. # 棒グラフを描画
  6. barplot(m, beside=T, col=c("red", "blue"))
  7. graphics.off()



482_05.png




棒グラフの間隔



棒グラフの間隔指定は、spaceで行います。
beside=Tを指定している場合は、ベクトルデータを渡します。
最初が隣り合うバーの間隔。次がバーのグループ間の間隔指定になるようです。


  1. png("image.png", width = 500, height = 300, pointsize = 12, bg = "white")
  2. # 棒グラフのデータ
  3. x <- 1:6
  4. m <- matrix(x, nrow=2)
  5. # 棒グラフを描画
  6. barplot(m, beside=T, col=c("red", "blue"), space=c(0.1, 0.5))
  7. graphics.off()



482_06.png




積み上げグラフ



beside=Tを指定しない(beside=F)ければ、値を積み上げるグラフになります。


  1. png("image.png", width = 500, height = 300, pointsize = 12, bg = "white")
  2. # 棒グラフのデータ
  3. x <- 1:6
  4. m <- matrix(x, nrow=2)
  5. # 棒グラフを描画
  6. barplot(m, col=c("red", "blue"))
  7. graphics.off()



482_07.png




割合グラフ



全体を100%とした積み上げグラフを書いてみます。


  1. png("image.png", width = 500, height = 300, pointsize = 12, bg = "white")
  2. # 棒グラフのデータ
  3. x <- 1:6
  4. m <- matrix(x, nrow=2)
  5. # 棒グラフを描画
  6. barplot(sweep(m, 2, 100 / colSums(m), "*"), col=c("red", "blue"))
  7. graphics.off()



482_08.png


実はsweepの意味とかわかっていないのですが、簡単に割合計算ができる模様。
今後の勉強の励みになります。




【参考URL】

http://stat.biopapyrus.net/graph/barplot.html

http://bio-info.biz/tips/r_barplot.html

http://www.kkaneko.com/rinkou/r/rgraph.html

http://www.isc.meiji.ac.jp/~mizutani/R/spread/basic_graphics.html

グラフィックス参考実例集:棒グラフ、ヒストグラムを描く barplot, hist


R言語 掲載記事のまとめ
関連記事

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2014/10/12(日) 21:42:04|
  2. 備忘録
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<R言語 棒グラフと折れ線グラフの組み合わせ | ホーム | R言語 指定範囲に矩形を描画し強調する>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/1508-f8e7524e
この記事にトラックバックする(FC2ブログユーザー)