メインコンテンツにスキップ
モジュール 5 · レッスン 2 / 2コース内の 10/10~15 min
モジュールのレッスン (2/2)

カスタマイズとファセット

ggplot2 では、ジオメトリと美学を定義するだけでなく、タイトルの追加、テーマの変更、ファセット (プロットをサブパネルに分割する) によって、プロットの視覚的な外観を完全にカスタマイズできます。


タイトルとラベル: labs()

メイン タイトル、サブタイトルを追加し、軸ラベルまたは凡例タイトルをカスタマイズするには、labs() レイヤーを追加します。

R
ggplot(df, aes(x = age, y = income)) +
  geom_point() +
  labs(
    title = "Income by Age",
    subtitle = "2026 census data",
    x = "Age (years)",
    y = "Annual Income (EUR)",
    color = "Gender"
  )

ビジュアルテーマ: theme_*()

ggplot2 には、背景、グリッド線、タイポグラフィーを変更するいくつかの事前にパッケージ化されたテーマが含まれています。最も一般的なものは次のとおりです。

  • theme_gray() (明るい灰色の背景を持つデフォルトのテーマ)。
  • theme_minimal() (細いグリッド線のあるきれいな白の背景)。
  • theme_classic() (背景のグリッド線のない、シンプルなクラシック スタイル)。
R
ggplot(df, aes(x = age, y = income)) +
  geom_point() +
  theme_minimal()  # Applies a clean, modern style

プロットをサブパネルに分割: facet_wrap()

ファセットを使用すると、カテゴリ変数の値に基づいて、単一のプロットを複数のサブプロット (パネル) に並べて分割できます。

主な関数は facet_wrap() で、R 式表記法 (~ variable_name) を使用します。

R
# Creates a separate subplot for each department
ggplot(df, aes(x = age, y = income)) +
  geom_point() +
  facet_wrap(~ department)

自分で試してみてください

演習 1: タイトルと軸を追加する

運動#r.m5.l2.e1
試行回数: 0読み込み中…

散布図を考慮して、タイトル (title) を「Title」、x 軸ラベルを「Age」、y 軸ラベルを「Income」に設定する labs() レイヤーを追加します。

エディターを読み込み中…
ヒントを表示

labs(title = '役職', x = '年齢', y = '収入') を「+」で連結して使用します。

3 回の試行後に解決策が利用可能になります

演習 2: クリーンなテーマを適用する

運動#r.m5.l2.e2
試行回数: 0読み込み中…

視覚的な美しさを向上させるために、theme_minimal() グラフィック テーマを以下の散布図に適用します。

エディターを読み込み中…
ヒントを表示

「+」記号を使用して、theme_minimal() 関数を追加します。

3 回の試行後に解決策が利用可能になります

演習 3: facet_wrap を使用してプロットを分割する

運動#r.m5.l2.e3
試行回数: 0読み込み中…

facet_wrap() 関数を使用して、部門列に基づいて散布図を異なるパネルに分割します。

エディターを読み込み中…
ヒントを表示

facet_wrap(~ 部門) を使用してプロットを分割します。

3 回の試行後に解決策が利用可能になります

演習 4: 座標軸を反転する

運動#r.m5.l2.e4
試行回数: 0読み込み中…

多くのカテゴリを含む縦棒グラフを読みやすくするには、X 軸と Y 軸を反転します。 coord_flip() レイヤーを棒グラフに追加します。

エディターを読み込み中…
ヒントを表示

coord_flip() パイプライン ggplot コン '+' を使用します。

3 回の試行後に解決策が利用可能になります

演習 5: 出版可能な完全なプロットを作成する

運動#r.m5.l2.e5
試行回数: 0読み込み中…

df 上に完全なプロットを作成します。geom_point() 内で、年齢を x に、収入を y に、色を性別にマッピングします。 facet_wrap() を使用して部門ごとにプロットを分割し、「年齢別給与」というタイトルの labs() を追加し、最後に theme_minimal() を適用します。

エディターを読み込み中…
ヒントを表示

「+」を使用してすべてのレイヤーを結合します: ggplot(...) + geom_point() + facet_wrap(~ 部門) + labs(title = 'Salary by Age') + theme_minimal()

3 回の試行後に解決策が利用可能になります