Rで軸目盛のラベルの向きを変える

r
Rで軸目盛のラベルの向きを変える方法についてまとめます。
Author

Maple

Published

2025-08-27

Modified

2025-08-27

Rでは、軸目盛のラベルはデフォルトで水平に表示されます。 しかし、ラベルが長い場合や、視覚的な理由から、ラベルの向きを変更したいことがあります。 この記事では、base Rで軸目盛のラベルの向きを変える方法についてまとめます。

las パラメータ

las パラメータを使用すると、軸目盛のラベルの向きを変更できます。 このパラメータは、par() 関数で設定でき、plot() 関数や axis() 関数など、 で las は 0 から 3 までの整数値をとり、それぞれ以下のように対応しています。

las の値 ラベルの向き
0 軸に対して常に 平行 (parallel)
1 水平方向 (horizontal)
2 軸に対して垂直 (perpendicular)
3 垂直方向 (vertical)

可視化してみます。

par(mfrow = c(2, 2), cex.axis = 1.5, col.axis = 2)
plot(1:10, rnorm(10), main = "Default las (0)", cex.axis = 1.5, col.axis = 2)
plot(1:10, rnorm(10), main = "las = 1 (horizontal)", las = 1)
plot(1:10, rnorm(10), main = "las = 2 (perpendicular)", las = 2)
plot(1:10, rnorm(10), main = "las = 3 (vertical)", las = 3)

rnorm() 関数

rnorm() は標準正規分布から乱数を生成する関数です。

一番多く使うのは、x軸とy軸のラベルがどちらも水平になる las = 1 でしょうか。 Excel のグラフや Python の maptlotlib でのグラフなどは、どちらの軸目盛ラベルも水平表示がデフォルトなので、馴染みやすいかもしれません。

個別に軸目盛ラベルの向きを変える

par() 関数や、plot() 関数で las パラメータを設定すると、すべての軸目盛ラベルの向きが一括で変わります。 x軸やy軸のどちらかだけ、あるいは特定の軸目盛ラベルだけ向きを変えたい場合は、axis() 関数を使います。 その名の通り、軸を描画する関数で、plot() 関数で描画した後に追加で呼び出します。

そのため、plot() 関数で描画するときは軸を非表示にする必要があります。 xaxt = "n" で x軸を非表示にし、yaxt = "n" で y軸を非表示にできます。

par(mfrow = c(1, 3), cex.axis = 1.5, col.axis = 2)
plot(1:10, rnorm(10), xaxt = "n", main = 'xaxt = "n"')
plot(1:10, rnorm(10), yaxt = "n", main = 'yaxt = "n"')
plot(1:10, rnorm(10), xaxt = "n", yaxt = "n", main = 'xaxt = "n", yaxt = "n"')

非表示にした軸を axis() 関数で追加します。 例えば、y軸のラベルを水平にしたい場合は、以下のようにします。

plot(1:10, rnorm(10), yaxt = "n") # y軸を非表示にしてプロットを描画
axis(2, las = 2) # 軸目盛りラベルを水平にして追加

一番多いのがこの使い方だと思います。

lasはなんの略?

las がなんの略語なのか、ずっと気になっているのですが、ドキュメントを見ても正式には書いていません。 おそらく “label axis style” の略ではないかと言われています(参考: Jeromy Anglim’s Blog: Psychology and Statistics)。