6 図の作成

6.1 概要

このページでは

について解説します。

6.2 はじめに

R のグラフィックス機能は graphics パッケージに基づくものと grid パッケージに基づくものに大別されます。grid の方が新しくパワフルですが、複雑でもあるので、最初に学ぶにはgraphics の方が向いているかもしれません。grid を使う際には ggplot2lattice などのパッケージを利用することが多いです(それぞれは異なる視覚的スタイルを持ちます)。

本ページでは graphics を用いた簡易なグラフ作成の方法を最初に解説し、次に ggplot2 を用いたカスタマイズ性の高い作図の方法について解説します。

6.3 データセット

作図に使うデータセットをまずは用意します。
本項では datarium パッケージのデータセットを利用することにします。

datarium パッケージはデータ分析の演習に適した様々なデータセットを提供しています。下記のページでデータセットの一覧とその概要を見ることができます。
https://rpkgs.datanovia.com/datarium/reference

datarium パッケージがインストールされていない場合はまずインストールしておきます。

パッケージの読み込みをします。

このパッケージが持つデータセットのうち jobsatisfactionmarketing の中身を確認してみます。

jobsatisfaction は仕事満足度(score)のデータで、説明変数として性別(male/female)と学歴(school/college,university)の2要因があります。

marketing はメディア(youtube/facebook/newspaper)への広告出稿料と売上げ額(sales)のデータです。

変数名が長いので、短い変数名で使えるようにしておきます。

6.4 graphics による作図

6.4.1 plot 関数

plot() 関数の引数に数値ベクトルを渡すと図が出力されます。
図の横軸(X軸)はベクトルのインデックス、縦軸(Y軸)はベクトルの要素の値になります。

2変数の場合は以下のようにします。

x軸は youtube への宣伝費、y軸は売り上げです。

なお、引数については以下のような扱いが可能です。

以上のように、図にしたいデータ(ベクトル)を plot() 関数に入れるだけで点グラフや散布図を描くことができます。データを確認するために手っ取り早く図にしたい場合はこれだけで十分でしょう。ただし、発表用に使えるようなクオリティの見た目にしたい場合には様々な修飾を図に加える必要があります。その方法について以下に解説します。

6.4.3 図のスタイルの変更

plot() 関数に様々な引数を渡すことで図の見た目を変更できます。

cex, lwd

cex (character expansion)は点の大きさ、lwd (line width) は線の太さを指定します。
どちらも1がデフォルトです。

col

col で色を指定します。
col = “red” や col = “blue” などとするか、16進数カラーコードで色を指定します。

また、col = "gray20"col = "gray70" など、gray + 0から100までの数字という形式で様々な濃さの灰色を指定できます。

16進数カラーコードは#と6桁の文字で色を指定する方法です。「カラーピッカー」などで検索すると16進数カラーコードを求めるためのウェブサイトが多くヒットするのでそれを利用して色を決めるのが便利です。
Google で hex color と検索すると以下のような画面が検索画面の上部に表示されるので、それを使っても簡単に16進数カラーコードを調べることができます。

pch

pch (plot character) で点の種類を指定します。
デフォルトでは1が指定されます。

lty

lty (line type) で線の種類を指定します。
デフォルトでは1が指定されます。

lty = 2 と数値で指定する代わりに、lty = "dashed" などと文字で指定することも可能です。

6.4.4 表示設定の変更

以下のような引数で図の表示スタイルを変更できます。

xlim, ylim

xlim でX軸の範囲、ylim でY軸の範囲を指定します。

frame.plot

frame.plot を FALSE にすると図を囲う枠線を消せます(デフォルトは TRUE で枠線あり)。

las

las (label style) で軸目盛りの文字の方向を指定できます。

  • las = 0 : XYの両軸とも目盛り文字は軸の方向に沿う(デフォルト)
  • las = 1 : XYの両軸とも目盛り文字は水平方向
  • las = 2 : XYの両軸とも目盛り文字は軸の方向と直角になる
  • las = 3 : XYの両軸とも目盛り文字は垂直方向

6.4.5 タイトルと軸ラベルの変更

図のタイトルや軸ラベルを変更したり、フォントの変更ができます。

main, xlab, ylab

  • main : 図のタイトル
  • xlab : X軸のタイトル(ラベル)
  • ylab : Y軸のタイトル(ラベル)

font.main, font.lab, font.axis

  • font.main : タイトルのフォント
  • font.lab : 軸ラベルのフォント
  • font.axis : 軸目盛りのフォント

フォントは数字で指定します。1はデフォルト、2は太字、3は斜体、4は太字の斜体です。

cex.main, cex.lab, cex.axis

  • cex.main : タイトルの文字サイズ
  • cex.lab : 軸ラベルの文字サイズ
  • cex.axis : 軸目盛りの文字サイズ

サイズは1がデフォルトです。

col.main, col.lab, col.axis

  • col.main : タイトルの文字の色
  • col.lab : 軸ラベルの文字の色
  • col.axis : 軸目盛りの文字の色

col.axis = "red"col.axis = "gray60" などとするか、16進数カラーコードで色を指定します。

6.5 ggplot2 パッケージによる作図

最初に ggplot2 パッケージの読み込みを行います。

また、このページの作例で使用する他のパッケージの読み込みも行っておきます。

ggplot2 が作図用の R パッケージです。
Hmisc は stat_summary で fun.data = mean_cl_normal などを使えるようにするために必要です。

6.6 棒グラフ

6.7 折れ線グラフ