Rで目盛りだけを描画する

r
Rのグラフで目盛りだけを描画する方法についてまとめます。
Author

Maple

Published

2025-08-21

Modified

2025-08-21

実用性に乏しい Tips ですが、Rのグラフで目盛りだけを描画する方法についてまとめます。 通常、R のグラフでは、以下のように軸(軸線)と目盛りがセットで描画されます。

plot(1:10, bty = "n")

axis() 関数を使うと、軸と目盛りを別々に制御できます。

plot(1:10, axes = FALSE)
axis(1, lwd = 0, lwd.ticks = 1, col = NA, col.ticks = "black")
axis(2, lwd = 0, lwd.ticks = 1, col = NA, col.ticks = "black")

lwd は軸線と目盛りの太さを指定しますが、lwd.ticks は目盛りの太さを個別に指定します。 そのため、lwd = 0 として軸線と目盛りを消し、その後、lwd.ticks = 1 として目盛りだけを描画しています。

col.tickspar("fg") にすると、Rのデフォルトの前景色になります。 デフォルトでは黒です。

plot(1:10, axes = FALSE)
axis(1, lwd = 0, lwd.ticks = 1, col = NA, col.ticks = par("fg"))
axis(2, lwd = 0, lwd.ticks = 1, col = NA, col.ticks = par("fg"))

感想

Rのグラフを SVG で出力し、編集すると、軸線が枠線と重なるため、いつも軸線はいらないのではないかと思っていました。 とくに問題はありませんでしたが、目盛りだけを描画すると最低限だけを描画できるので、嬉しい場合もあるかもしれませんね。