Rでggplotを使ったグラフの軸目盛を変更したい【R備忘録】

Rのggplot2は、データの可視化に非常に強力なパッケージです。デフォルトの設定でも美しいグラフを作成できますが、データに合わせたカスタマイズを行うことで、より効果的なグラフを作成することができます。この記事では、ggplot2を使って縦軸(y軸)のスケールを変更する方法について解説します。

スポンサーリンク

1. 基本的なグラフの作成

まずは、ggplot2を使って基本的なグラフを作成してみましょう。以下のコードでは、mtcarsデータセットを使用して、車の馬力(hp)と燃費(mpg)の関係を散布図で表示します。

library(ggplot2)

# mtcarsデータセットを使用
p <- ggplot(mtcars, aes(x = hp, y = mpg)) +
  geom_point() +
  labs(title = "Horsepower vs. Miles per Gallon",
       x = "Horsepower",
       y = "Miles per Gallon")
p
スポンサーリンク

2. 縦軸のスケールを変更する

ggplot2では、scale_y_continuous関数を使用して縦軸のスケールを調整できます。この関数では、縦軸の範囲、ラベル、ブレークポイントなどを設定することができます。

2.1. 縦軸の範囲を指定する

縦軸の範囲を手動で指定するには、scale_y_continuouslimits引数を使用します。以下のコードでは、縦軸の範囲を10から35に設定しています。

p + scale_y_continuous(limits = c(10, 35))

2.2. 縦軸のラベルをカスタマイズする

scale_y_continuouslabels引数を使って、縦軸のラベルをカスタマイズすることもできます。例えば、縦軸の値を百分率(%)として表示する場合は、以下のようにします。

p + scale_y_continuous(labels = scales::percent)

2.3. 縦軸のブレークポイントを指定する

縦軸のブレークポイント(目盛りの位置)をカスタマイズする場合は、breaks引数を使用します。以下の例では、ブレークポイントを10, 15, 20, 25, 30, 35に設定しています。

p + scale_y_continuous(breaks = seq(10, 35, by = 5))
スポンサーリンク

3. 対数スケールへの変更

データの分布が広い範囲にわたる場合、縦軸を対数スケールに変更すると見やすくなることがあります。ggplot2では、scale_y_log10関数を使用して縦軸を対数スケールに変更できます。

p + scale_y_log10()
スポンサーリンク

4. 別のスケール関数の使用

ggplot2には、scale_y_continuousscale_y_log10以外にも、scale_y_reversescale_y_sqrtなどのスケール関数が用意されています。これらを使うことで、縦軸を逆順にしたり平方根スケールにすることもできます。

4.1. 縦軸の逆順

p + scale_y_reverse()

4.2. 平方根スケール

p + scale_y_sqrt()
スポンサーリンク

まとめ

この記事では、ggplot2を使って縦軸のスケールを変更する方法について紹介しました。scale_y_continuousを使用することで、縦軸の範囲、ラベル、ブレークポイントを自由にカスタマイズでき、また他のスケール関数を使って対数スケールや逆順スケールに変更することも可能です。これらの機能を活用して、データに最適なグラフを作成しましょう。

コメント

タイトルとURLをコピーしました