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_continuous
のlimits
引数を使用します。以下のコードでは、縦軸の範囲を10から35に設定しています。
p + scale_y_continuous(limits = c(10, 35))
2.2. 縦軸のラベルをカスタマイズする
scale_y_continuous
のlabels
引数を使って、縦軸のラベルをカスタマイズすることもできます。例えば、縦軸の値を百分率(%)として表示する場合は、以下のようにします。
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_continuous
やscale_y_log10
以外にも、scale_y_reverse
やscale_y_sqrt
などのスケール関数が用意されています。これらを使うことで、縦軸を逆順にしたり平方根スケールにすることもできます。
4.1. 縦軸の逆順
p + scale_y_reverse()
4.2. 平方根スケール
p + scale_y_sqrt()
まとめ
この記事では、ggplot2
を使って縦軸のスケールを変更する方法について紹介しました。scale_y_continuous
を使用することで、縦軸の範囲、ラベル、ブレークポイントを自由にカスタマイズでき、また他のスケール関数を使って対数スケールや逆順スケールに変更することも可能です。これらの機能を活用して、データに最適なグラフを作成しましょう。
コメント