Rのポイントタイプ

r
Rのpchパラメータについてまとめます。
Author

Maple

Published

2025-08-23

Modified

2025-08-23

Rのグラフで使うポイントタイプ(pch パラメータ)についてまとめます。 pchplotting character の略で、散布図などで使う点の形状を指定します。 数字でもともと用意されているシンボル、または一文字の文字列で指定できます。

数字で指定する

0から25までの数字で指定できます。 0 - 18 までは S 言語というRの前身の言語で定義されたシンボルです。 19 - 25 は R で追加されたシンボルです。

op <- par(mfrow = c(5, 6), mar = c(1, 1, 3, 1))
for (i in 0:25) {
  plot(0, 0, pch = i, cex = 3, axes = FALSE, xlab = "", ylab = "")
  mtext(paste("pch =", i), side = 3, line = 0.5)
}
par(op)

似ているのがいくつかあるので、以下に違いをまとめます。

pch = 1, 21

  • pch = 1: 円(枠線のみ)
  • pch = 21: 円(col で塗りつぶし可能)。bg パラメータで塗りつぶしの色を指定できる。

pch = 16, 19, 20

  • pch = 16: 塗りつぶされた円
  • pch = 19: pch = 16 と同じく塗りつぶされた円だが、枠線が設定されているため、 lwd で線の太さを変化させると、見た目が変わる。
  • pch = 20: 塗りつぶされた小さな円。pch = 16 の2/3の大きさ。
個人的なおすすめ

個人的には pch = 21 をよく使います。 理由は、bg で塗りつぶしの色を、col で枠線の色を指定できるため、色の組み合わせが豊富かつ、見やすくできるからです。

そのほかのシンボル

0 - 25 までは標準シンボルでしたが、それ以外の数字も指定できます。

  • 26:31: 未使用(指定したら無視される。)
  • 32 - 127: ASCIIコードに対応した文字が表示される。
  • 128 - 255: 文字コードに対応した文字が表示される(環境依存で、128:159はWindowsのみ)。
  • 負の整数: Unicode コードポイントを指定(例:pch = -0x2642L → ♂, pch = -0x20ACL → €)(ただし未対応フォントや不正なコードポイントの場合は四角や空白になる)
  • 1文字の文字列を与えると pch に変換される。
  • pch = ".": 特別に極小の四角点として扱われる。
  • NA"": 点が表示されない。

以下ににASCIIコードの例を表示します。

op <- par(mfrow = c(8, 4), mar = c(1, 1, 2, 1))
for (i in 32:63) {
  plot(0, 0, pch = i, cex = 3, axes = FALSE, xlab = "", ylab = "")
  mtext(paste("pch =", i), side = 3, line = 0.5)
}

par(op)