R言語

【R言語】棒グラフ・円グラフ・折れ線グラフのプロット

  1. HOME >
  2. R言語 >

【R言語】棒グラフ・円グラフ・折れ線グラフのプロット

スポンサーリンク

R言語で棒グラフ、円グラフ、折れ線グラフをプロットする方法を紹介します。

グラフをプロットするための関数やその実行例について解説します。

この記事で扱うプログラミングコードは以下からダウンロードできます。

テンプレートとして使っていただいて構いません。

グラフのプロット

棒グラフ、円グラフ、折れ線グラフの関数を以下にまとめました。

棒フラフ

棒グラフを描くには次の関数barplotを用います。

barplot(height, width = 1, space = NULL, names.arg = NULL, legend.text = NULL, beside = FALSE, horiz = FALSE, density = NULL, angle = 45, col = heat.colors(NR), border = par("fg"), main = NULL, sub = NULL, xlab = NULL, ylab = NULL, xlim = NULL, ylim = NULL, xpd = TRUE, axes = TRUE, axisnames = TRUE,cex.axis = par("cex.axis"), cex.names = par("cex.axis"), inside = TRUE, plot = TRUE, shift = 0, ...)

関数barplotの引数は以下の通りです。

関数barplotの引数
引数説明
height棒グラフのデータを表すベクトルまたは行列。
width棒の長さを表すベクトル。
space棒の間の余白の長さ。
names.arg棒グラフの下にプロットされる名前を表すベクトル。
legend.text積み上げ式の棒グラフの凡例を表すベクトル。
besidelogical型。FALSEのときは積み上げ式、TRUEのときは並列の棒グラフを描く。
horizlogical型。FALSEのときは垂直に、TRUEのときは水平に棒グラフが描かれる。
density棒に描くシェードラインの密度のベクトル。
angleシェードラインの角度。
col棒の色。
border棒の枠線の色。
main,subグラフのメインタイトル及びサブタイトル。
xlabx軸のラベル。
ylaby軸のラベル。
xlimx軸の範囲。
ylimy軸の範囲。
xpdlogical型。棒が領域外に出ることを許すかどうか。
axeslogical型。TRUEのとき縦軸が描画される。
cex.axis軸のラベルの大きさ。
cex.names項目名の名前の大きさ。
insidelogical型。TRUEのとき隣接する棒を分ける線が描画される。
plotlogical型。FALSEのとき何も描画されない。
shiftベクトル。それぞれの棒をx軸に関してどれくらいシフトするか。
...他の関数に渡すグラフィカルパラメーター。

円グラフ

円グラフを描くには次の関数pieを用います。

pie(x, labels = names(x), edges = 200, radius = 0.8, clockwise = FALSE, init.angle = if(clockwise) 90 else 0, density = NULL, angle = 45, col = NULL, border = NULL, lty = NULL, main = NULL, …)

関数pieの引数は以下の通りです。

関数pieの引数
引数説明
x円グラフにプロットする非負のベクトル。
labelscharacter型のベクトル。円グラフのラベル。
edges円の輪郭をどこまで近似するか。
radius円の半径
clockwiselogical型。時計回りでプロットするかどうか。
init.angle角度の初期値。どの角度から円グラフを描き始めるか。
densityシェードラインの密度
angleシェードラインの角度。
col各円弧の色。
border, lty円弧を描くために用いるpolygonに渡す引数。
mainプロットのメインタイトル。
...他の関数に渡すグラフィカルパラメーター。

折れ線グラフ

折れ線グラフを描くには次の関数plotを用います。

plot(x, y, …)

関数plotの引数は以下の通りです。

関数plotの引数
引数説明
xx軸の座標。
yy軸の座標。
...他の関数に渡すグラフィカルパラメーター。

実行例

各種グラフのプロットについて見ていきます。

標準で実装されているパッケージbaseだけでなく、次のパッケージggplot2を使ったプロットの方法も紹介します。

棒グラフ

次の季節と商品別の売り上げに関するデータセットについて棒グラフをプロットしていきます。

datasetは次のように行(商品名)、列(季節)で構成されています。

barplotを使って棒グラフを描画するために、datasetを行列に変換します。

関数barplotの引数にデータを与えると棒グラフを描くことができます。

引数に行列のデータを渡すと積み上げ式の棒グラフを描くこともできます。

また、引数colによって色を変更することができます。

棒グラフ

棒グラフ 積み上げ式

棒グラフ 色変更

パッケージggplot2を使った棒グラフのプロットの方法についても紹介します。

ggplot2の場合、次のように関数geom_barを使うことで棒グラフを描画することができます。

棒グラフ(ggplot)

積み上げ式の棒グラフを描く場合は、次のように売り上げのデータが1列になるようにデータセットを構築しなおす必要があります。

次のように、上で与えたデータフレームを関数ggplotに渡すことで積み上げ式の棒グラフを描くことができます。

棒グラフ 積み上げ式(ggplot)

ggplot2の色の変更は関数scale_color_manualscale_fill_manualで行うことができます。

棒グラフ 色変更(ggplot)

円グラフ

続いて円グラフのプロットの仕方について見ていきます。

関数pieを用いることで、棒グラフのときと同様に円グラフを描くことができます。

円グラフの色は、引数colによって変更することができます。

円グラフ

円グラフ 色変更

ggplot2を使って描く場合は、次のように関数geom_barcoord_polarを用います。

corrd_polarによって極座標変換後のグラフを描くことができます。

円グラフ(ggplot)

デフォルトだと左回りの円グラフが描かれます。右回りのグラフを描く場合は次のように引数directionを-1にします。

円グラフ 右回り(ggplot)

ブウグラフのときと同様に、scale_fill_manualによって色を変更することが可能です。

円グラフ 色変更(ggplot)

円グラフに文字を入れたい場合は、次のように関数geom_textを使います。

円グラフ 凡例追加(ggplot)



円グラフ パーセント追加(ggplot)

折れ線グラフ

最後に折れ線グラフのプロットの方法について見ていきます。

次の月ごとの売り上げに関するデータセットについて折れ線グラフを描いていきます。

折れ線グラフをプロットするには、次のように関数plotを使います。

引数xにx軸の座標、引数yにy軸の座標を渡すことで座標に対応する折れ線グラフをプロットすることができます。

また、引数typeを変更することで線の種類を変えることができます。"l"のときは線のみ、"b"と"o"のときに線と点をプロットされます。

折れ線グラフ

折れ線グラフ 線と点1

折れ線グラフ 線と点2

複数の折れ線グラフを同時にプロットしたいときは、次のようにpar(new = TRUE)を用いてグラフの重ね描きを行います。

関数plotの引数colで各折れ線の色を変更し、最後にlegendにより凡例を追加することで複数の折れ線グラフを同時に描くことができます。

折れ線グラフ 複数

次に、ggplot2で折れ線グラフを描く流れを紹介します。

折れ線グラフを描くには、次のように関数geom_lineを用います。

折れ線グラフ(ggplot)

また、geom_pointによって点を追加することもできます。

折れ線グラフ 線と点(ggplot)

まとめ

R言語で棒グラフ、円グラフ、折れ線グラフをプロットする関数とその実行例を紹介しました。

関数barplotpieplotでそれぞれ棒グラフ、円グラフ、折れ線グラフを描くことができます。

スポンサーリンク

  • この記事を書いた人
  • 最新記事

usagi-san

統計学とゲームとかをメインに解説していくよ。 数式とかプログラミングコードにミスがあったり質問があったりする場合はコメントで受け付けます。すぐに対応します。

-R言語
-, , ,