points
位於 graphics
包(package)。 說明
points
是一個通用函數,用於在指定坐標處繪製一係列點。以坐標為中心繪製指定的字符。
用法
points(x, ...)
## Default S3 method:
points(x, y = NULL, type = "p", ...)
參數
x, y |
要繪製的點的坐標向量。 |
type |
指示繪圖類型的字符;實際上任何 |
... |
另外graphical parameters也可以作為參數提供。查看具體信息'。 |
細節
坐標可以在繪圖結構(包含 x
和 y
組件的列表)、兩列矩陣、時間序列等中傳遞。請參閱 xy.coords
。如果單獨提供,它們的長度必須相同。
常用的圖形參數有
pch
-
繪製‘character’,即要使用的符號。這可以是單個字符,也可以是一組圖形符號之一的整數代碼。全套 S 符號可用於
pch = 0:18
,請參閱下麵的示例。 (注意:R使用圓形而不是 S 中使用的八邊形。)值
pch = "."
(相當於pch = 46
)經過特殊處理。它是一個邊長為 0.01 英寸的矩形(按cex
縮放)。此外,如果cex = 1
(默認值),則每邊至少為一個像素(在pdf
、postscript
和xfig
設備上為 1/72 英寸)。對於其他文本符號,
cex = 1
對應於設備的默認字體大小,通常由參數pointsize
指定。對於0:25
中的pch
,默認大小約為字符高度的 75%(請參閱par("cin")
)。 col
-
顏色代碼或名稱,請參閱
par
。 bg
-
pch = 21:25
給出的開放圖符號的背景(填充)顏色。 cex
-
字符(或符號)擴展:數值向量。這是
par("cex")
的倍數。 lwd
-
繪圖符號的線寬請參見
par
。
其他不太常用的是 lty
和 lwd
等類型,例如 "b"
和 "l"
。
graphical parameters pch
、 col
、 bg
、 cex
和 lwd
可以是向量(將根據需要回收),為繪製的每個點提供一個值。如果要繪製線條(例如,對於 type = "b"
),則使用 lwd
的第一個元素。
圖中省略 x
、 y
、 pch
、 col
或 cex
值為 NA
的點。
'pch'值
pch
的值在內部存儲為整數。解釋是
-
NA_integer_
:無符號。 -
0:18
:S-compatible矢量符號。 -
19:25
: 更遠R矢量符號。 -
26:31
:未使用(並被忽略)。 -
32:127
:ASCII 字符。 -
128:255
僅適用於單字節語言環境和符號字體的本機字符。 (128:159
僅在 Windows 上使用。) -
-32 ...
Unicode 代碼點(如果支持)。
請注意,與 S(使用八邊形)不同,符號 1
、 10
、 13
和 16
使用圓形。填充形狀15:18
不包含邊框。
下列R繪圖符號可以通過以下方式獲得pch = 19:25
: 那些有21:25
可以著色並填充不同的顏色:col
給出邊框顏色和bg
背景顏色(即‘"grey"’圖中)
-
pch = 19
:實心圓, -
pch = 20
:項目符號(較小的實心圓,19
大小的 2/3), -
pch = 21
:實心圓, -
pch = 22
:實心正方形, -
pch = 23
:填充鑽石, -
pch = 24
:實心三角形point-up, -
pch = 25
:實心三角形點向下。
請注意,所有這些都填充形狀並繪製邊框。當半透明顏色用於填充和邊框時,在解釋時需要注意(結果可能是特定於設備的,甚至是 viewer-specific for pdf
)。
pch = 16
和 pch = 19
之間的區別在於,後者使用邊框,因此當 lwd
相對於 cex
較大時,後者明顯更大。
值 pch = 26:31
當前未使用,pch = 32:127
給出 ASCII 字符。在單字節語言環境中 pch = 128:255
給出語言環境字符集中的相應字符(如果有)。在操作係統支持的情況下,負值指定 Unicode 代碼點,例如-0x2642L
是“男性標誌”,-0x20ACL
是歐元。
由單個字符組成的字符串將轉換為整數:對於 ASCII 字符,32:127
,否則通常轉換為 Unicode 代碼點。 (在非 Latin-1 單字節語言環境中,128:255
將用於 8 位字符。)
如果提供的 pch
是邏輯、整數或字符 NA
或空字符串,則該點將從圖中省略。
如果pch
是NULL
或者長度為0,則使用par("pch")
。
如果使用符號字體 ( par(font = 5)
),則 pch
應使用數值:所有區域設置中的範圍為 c(32:126, 160:254)
(但 240
未定義(用於 macOS 上的 ‘apple’)並且 160
,歐元,可能不存在)。
注意
單字節編碼可能包含 pch = 128:255
中的字符,如果包含,字體可能不包含所有(甚至任何)它們。
並非所有負數都可以作為 Unicode 代碼點,並且不會進行任何檢查。顯示設備可能會使用矩形(或省略)無效的或在所使用的字體中沒有字形的 Unicode 代碼點。
cex
的值非常小或為零時,會發生 device-dependent:符號或字符可能變得不可見,或者可能以固定的最小尺寸繪製。不會繪製半徑為零的圓。
例子
require(stats) # for rnorm
plot(-4:4, -4:4, type = "n") # setting up coord. system
points(rnorm(200), rnorm(200), col = "red")
points(rnorm(100)/2, rnorm(100)/2, col = "blue", cex = 1.5)
op <- par(bg = "light blue")
x <- seq(0, 2*pi, length.out = 51)
## something "between type='b' and type='o'":
plot(x, sin(x), type = "o", pch = 21, bg = par("bg"), col = "blue", cex = .6,
main = 'plot(..., type="o", pch=21, bg=par("bg"))')
par(op)
## Not run:
## The figure was produced by calls like
png("pch.png", height = 0.7, width = 7, res = 100, units = "in")
par(mar = rep(0,4))
plot(c(-1, 26), 0:1, type = "n", axes = FALSE)
text(0:25, 0.6, 0:25, cex = 0.5)
points(0:25, rep(0.3, 26), pch = 0:25, bg = "grey")
## End(Not run)
##-------- Showing all the extra & some char graphics symbols ---------
pchShow <-
function(extras = c("*",".", "o","O","0","+","-","|","%","#"),
cex = 3, ## good for both .Device=="postscript" and "x11"
col = "red3", bg = "gold", coltext = "brown", cextext = 1.2,
main = paste("plot symbols : points (... pch = *, cex =",
cex,")"))
{
nex <- length(extras)
np <- 26 + nex
ipch <- 0:(np-1)
k <- floor(sqrt(np))
dd <- c(-1,1)/2
rx <- dd + range(ix <- ipch %/% k)
ry <- dd + range(iy <- 3 + (k-1)- ipch %% k)
pch <- as.list(ipch) # list with integers & strings
if(nex > 0) pch[26+ 1:nex] <- as.list(extras)
plot(rx, ry, type = "n", axes = FALSE, xlab = "", ylab = "", main = main)
abline(v = ix, h = iy, col = "lightgray", lty = "dotted")
for(i in 1:np) {
pc <- pch[[i]]
## 'col' symbols with a 'bg'-colored interior (where available) :
points(ix[i], iy[i], pch = pc, col = col, bg = bg, cex = cex)
if(cextext > 0)
text(ix[i] - 0.3, iy[i], pc, col = coltext, cex = cextext)
}
}
pchShow()
pchShow(c("o","O","0"), cex = 2.5)
pchShow(NULL, cex = 4, cextext = 0, main = NULL)
## ------------ test code for various pch specifications -------------
# Try this in various font families (including Hershey)
# and locales. Use sign = -1 asserts we want Latin-1.
# Standard cases in a MBCS locale will not plot the top half.
TestChars <- function(sign = 1, font = 1, ...)
{
MB <- l10n_info()$MBCS
r <- if(font == 5) { sign <- 1; c(32:126, 160:254)
} else if(MB) 32:126 else 32:255
if (sign == -1) r <- c(32:126, 160:255)
par(pty = "s")
plot(c(-1,16), c(-1,16), type = "n", xlab = "", ylab = "",
xaxs = "i", yaxs = "i",
main = sprintf("sign = %d, font = %d", sign, font))
grid(17, 17, lty = 1) ; mtext(paste("MBCS:", MB))
for(i in r) try(points(i%%16, i%/%16, pch = sign*i, font = font,...))
}
TestChars()
try(TestChars(sign = -1))
TestChars(font = 5) # Euro might be at 160 (0+10*16).
# macOS has apple at 240 (0+15*16).
try(TestChars(-1, font = 2)) # bold
參考
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
也可以看看
points.formula
為公式方法; plot
、 lines
和底層主力函數 plot.xy
。
相關用法
- R polygon 多邊形繪製
- R polypath 路徑繪製
- R plot.histogram 繪製直方圖
- R pairs 散點圖矩陣
- R plot.raster 繪製光柵圖像
- R plot.factor 繪製因子變量
- R plot.table 表對象的繪圖方法
- R plot.default 默認散點圖函數
- R plot.window 設置圖形窗口的世界坐標
- R plot.xy 基本內部繪圖函數
- R persp 透視圖
- R pie 餅狀圖
- R par 設置或查詢圖形參數
- R panel.smooth 簡單麵板圖
- R plot.design 繪製設計或模型的單變量效應
- R plot.formula 散點圖的公式表示法
- R plot.data.frame DataFrame 的繪圖方法
- R legend 將圖例添加到繪圖中
- R barplot 條形圖
- R stem 莖葉圖
- R mtext 將文本寫入繪圖的邊距
- R arrows 將箭頭添加到繪圖中
- R contour 顯示輪廓
- R stars 星圖(蜘蛛圖/雷達圖)和線段圖
- R box 在地塊周圍畫一個方框
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Add Points to a Plot。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。