contour
位於 graphics
包(package)。 說明
創建等高線圖,或將等高線添加到現有圖。
用法
contour(x, ...)
## Default S3 method:
contour(x = seq(0, 1, length.out = nrow(z)),
y = seq(0, 1, length.out = ncol(z)),
z,
nlevels = 10, levels = pretty(zlim, nlevels),
labels = NULL,
xlim = range(x, finite = TRUE),
ylim = range(y, finite = TRUE),
zlim = range(z, finite = TRUE),
labcex = 0.6, drawlabels = TRUE, method = "flattest",
vfont, axes = TRUE, frame.plot = axes,
col = par("fg"), lty = par("lty"), lwd = par("lwd"),
add = FALSE, ...)
參數
x, y |
測量 |
z |
包含要繪製的值的矩陣(允許 |
nlevels |
當未提供 |
levels |
繪製等高線的級別的數字向量。 |
labels |
給出輪廓線標簽的向量。如果 |
labcex |
|
drawlabels |
合乎邏輯的。如果 |
method |
指定標簽所在位置的字符串。可能的值為 |
vfont |
如果 |
xlim, ylim, zlim |
繪圖的 x-、y- 和 z-limits。 |
axes, frame.plot |
指示是否應繪製軸或框的邏輯,請參閱 |
col |
繪製線條的顏色。 |
lty |
所繪製線條的線條類型。 |
lwd |
所繪製線條的線寬。 |
add |
合乎邏輯的。如果是 |
... |
|
細節
contour
是一個通用函數,在基類中隻有一個默認方法R.
在等高線上定位標簽的方法是"simple"
(在圖的邊繪製,覆蓋等高線),"edge"
(在圖的邊繪製,嵌入等高線中,沒有標簽重疊)和"flattest"
(在輪廓的最平坦部分上繪製,嵌入輪廓線中,沒有標簽重疊)。第二個和第三個可能不會在每條輪廓線上繪製標簽。
有關矢量字體的信息,請參閱 text
和 Hershey
的幫助。
請注意,contour
將 z
矩陣解釋為 f(x[i], y[j])
值表,因此 x 軸對應於行號,y 軸對應於列號,第 1 列位於底部,即 90 度計數器傳統文本布局的順時針旋轉。
向量(長度為 col
、 lty
和 lwd
沿著 levels
應用並回收,請參閱示例。 )
或者,使用 lattice
包中的 contourplot
,其中 formula
表示法允許使用相同長度的向量 x
、 y
和 z
。
對軸和框架的控製有限,因為參數 col
、 lwd
和 lty
指的是輪廓線(而不是一般的 graphical parameters )。要進行更多控製,請向繪圖添加等值線,或向等值線圖添加軸和框架。
例子
require(grDevices) # for colours
x <- -6:16
op <- par(mfrow = c(2, 2))
contour(outer(x, x), method = "edge", vfont = c("sans serif", "plain"))
z <- outer(x, sqrt(abs(x)), FUN = `/`)
image(x, x, z)
contour(x, x, z, col = "pink", add = TRUE, method = "edge",
vfont = c("sans serif", "plain"))
contour(x, x, z, ylim = c(1, 6), method = "simple", labcex = 1,
xlab = quote(x[1]), ylab = quote(x[2]))
contour(x, x, z, ylim = c(-6, 6), nlevels = 20, lty = 2, method = "simple",
main = "20 levels; \"simple\" labelling method")
par(op)
## Passing multiple colours / lty / lwd :
op <- par(mfrow = c(1, 2))
z <- outer(-9:25, -9:25)
## Using default levels <- pretty(range(z, finite = TRUE), 10),
## the first and last of which typically are *not* drawn:
(levs <- pretty(z, n=10)) # -300 -200 ... 600 700
contour(z, col = 1:4)
## Set levels explicitly; show that 'lwd' and 'lty' are recycled as well:
contour(z, levels=levs[-c(1,length(levs))], col = 1:5, lwd = 1:3 *1.5, lty = 1:3)
par(op)
## Persian Rug Art:
x <- y <- seq(-4*pi, 4*pi, length.out = 27)
r <- sqrt(outer(x^2, y^2, `+`))
opar <- par(mfrow = c(2, 2), mar = rep(0, 4))
for(f in pi^(0:3))
contour(cos(r^2)*exp(-r/f),
drawlabels = FALSE, axes = FALSE, frame.plot = TRUE)
rx <- range(x <- 10*1:nrow(volcano))
ry <- range(y <- 10*1:ncol(volcano))
ry <- ry + c(-1, 1) * (diff(rx) - diff(ry))/2
tcol <- terrain.colors(12)
par(opar); opar <- par(pty = "s", bg = "lightcyan")
plot(x = 0, y = 0, type = "n", xlim = rx, ylim = ry, xlab = "", ylab = "")
u <- par("usr")
rect(u[1], u[3], u[2], u[4], col = tcol[8], border = "red")
contour(x, y, volcano, col = tcol[2], lty = "solid", add = TRUE,
vfont = c("sans serif", "plain"))
title("A Topographic Map of Maunga Whau", font = 4)
abline(h = 200*0:4, v = 200*0:4, col = "lightgray", lty = 2, lwd = 0.1)
## contourLines produces the same contour lines as contour
plot(x = 0, y = 0, type = "n", xlim = rx, ylim = ry, xlab = "", ylab = "")
u <- par("usr")
rect(u[1], u[3], u[2], u[4], col = tcol[8], border = "red")
contour(x, y, volcano, col = tcol[1], lty = "solid", add = TRUE,
vfont = c("sans serif", "plain"))
line.list <- contourLines(x, y, volcano)
invisible(lapply(line.list, lines, lwd=3, col=adjustcolor(2, .3)))
par(opar)
參考
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
也可以看看
options("max.contour.segments")
用於單個輪廓線的最大複雜度。
contourLines
、 filled.contour
用於 color-filled 輪廓, contourplot
(和 levelplot
)來自包 lattice
。此外,image
和圖形演示可以作為 demo(graphics)
調用。
相關用法
- R convertXY 圖形坐標係之間的轉換
- R coplot 調節圖
- R curve 繪製函數圖
- R clip 設置剪切區域
- R cdplot 條件密度圖
- R legend 將圖例添加到繪圖中
- R barplot 條形圖
- R plot.histogram 繪製直方圖
- R points 向繪圖添加點
- R stem 莖葉圖
- R mtext 將文本寫入繪圖的邊距
- R arrows 將箭頭添加到繪圖中
- R pairs 散點圖矩陣
- R stars 星圖(蜘蛛圖/雷達圖)和線段圖
- R box 在地塊周圍畫一個方框
- R smoothScatter 具有平滑密度顏色表示的散點圖
- R mosaicplot 馬賽克圖
- R bxp 從摘要中繪製箱線圖
- R plot.raster 繪製光柵圖像
- R axTicks 計算軸刻度線位置
- R plot.factor 繪製因子變量
- R sunflowerplot 製作向日葵散點圖
- R plot.table 表對象的繪圖方法
- R units 圖形單位
- R identify 識別散點圖中的點
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Display Contours。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。