axis
位於 graphics
包(package)。 說明
向當前繪圖添加一個軸,允許指定邊、位置、標簽和其他選項。
用法
axis(side, at = NULL, labels = TRUE, tick = TRUE, line = NA,
pos = NA, outer = FALSE, font = NA, lty = "solid",
lwd = 1, lwd.ticks = lwd, col = NULL, col.ticks = NULL,
hadj = NA, padj = NA, gap.axis = NA, ...)
參數
side |
一個整數,指定要在繪圖的哪一側繪製軸。軸的放置方式如下:1=下方,2=左側,3=上方,4=右側。 |
at |
要繪製刻度線的點。非有限(無限、 |
labels |
這可以是指定是否在刻度線處進行(數字)注釋的邏輯值,也可以是要放置在刻度點處的標簽的字符或表達式向量。 (其他對象由 |
tick |
指定是否應繪製刻度線和軸線的邏輯值。 |
line |
如果不是 |
pos |
要繪製軸線的坐標:如果不是 |
outer |
一個邏輯值,指示是否應在外部繪圖邊距而不是標準繪圖邊距中繪製軸。 |
font |
文本的字體。默認為 |
lty |
軸線和刻度線的線型。 |
lwd , lwd.ticks |
軸線和刻度線的線寬。零或負值將抑製線條或刻度線。 |
col , col.ticks |
分別表示軸線和刻度線的顏色。 |
hadj |
對與讀取方向平行 (‘horizontal’) 的所有標簽進行調整(請參閱 |
padj |
垂直於閱讀方向調整每個刻度標簽。對於平行於軸的標簽, 如果 |
gap.axis |
一個可選(通常為非負)數字因子,與 ‘m’ 的大小相乘,以確定繪製的標簽之間的最小間隙,請參閱“詳細信息”。默認值 perpendicular <- function(side, las) { is.x <- (side %% 2 == 1) # is horizontal x-axis ( is.x && (las %in% 2:3)) || (!is.x && (las %in% 1:2)) } gap.axis <- if(perpendicular(side, las)) 0.25 else 1 當顯式指定 |
... |
其他 graphical parameters 也可以作為參數傳遞給該函數,特別是 參數 請注意, |
細節
軸線是從 at
的最低值到最高值繪製的,但會在繪圖區域被剪裁。默認情況下,僅繪製從繪圖區域內的點繪製的刻度(達到舍入誤差的容差),但刻度及其標簽可能會延伸到繪圖區域之外。使用xpd = TRUE
或xpd = NA
允許軸進一步延伸。
當 at = NULL
時,漂亮的刻度線位置是從 par("xaxp")
或 "yaxp"
和 par("xlog")
(或 "ylog"
)內部計算的(與 axTicks(side)
相同)。請注意,如果調整屏幕上繪圖的大小(例如,如果設置了 plot
參數 asp
(請參閱 plot.window
),這些位置可能會發生變化。)
如果未指定 labels
,則為 at
提供或計算的數值將轉換為字符串,就好像它們是由 print.default(digits = 7)
打印的數值向量一樣。
該代碼盡力不繪製重疊的刻度標簽,因此將省略它們鄰接或重疊先前繪製的標簽的標簽。例如,這可能會導致每隔一個刻度被標記一次。刻度從左到右或從下到上繪製,空間至少為 ‘m’ 的大小乘以gap.axis
,位於標簽之間。在之前的R版本,這僅適用於寫入的標簽平行線到軸方向,因此不適用於例如las = 2
。使用gap.axis = -1
恢複之前的(有缺陷的)行為(在垂直情況下)。
如果設置了 line
或 pos
,則它們(而不是 par("mgp")[3]
)確定軸線和刻度線的位置,並且刻度標簽將放置在 par("mgp")[2]
進一步的行中(或朝向 pos
) 邊距。
有幾個圖形參數會影響軸的繪製方式。軸和刻度標簽的垂直(對於邊 1 和 3)位置由 mgp[2:3]
和 mex
控製,刻度的大小和方向由 tck
和 tcl
控製,以及刻度的外觀由 cex.axis
、 col.axis
和 font.axis
標記標簽,方向由 las
控製(但不是 srt
,與 S 不同,如果提供了 at
,則使用 srt
,如果未提供,則使用 las
) 。請注意,不支持adj
,並且標簽始終居中。有關詳細信息,請參閱par
。
值
首次繪製繪圖時繪製刻度線的軸刻度上的數字位置(請參閱“詳細信息”)。
調用此函數通常是因為它的副作用,即向已存在的繪圖添加一個軸。
例子
require(stats) # for rnorm
plot(1:4, rnorm(4), axes = FALSE)
axis(1, 1:4, LETTERS[1:4])
axis(2)
box() #- to make it look "as usual"
plot(1:7, rnorm(7), main = "axis() examples",
type = "s", xaxt = "n", frame.plot = FALSE, col = "red")
axis(1, 1:7, LETTERS[1:7], col.axis = "blue")
# unusual options:
axis(4, col = "violet", col.axis = "dark violet", lwd = 2)
axis(3, col = "gold", lty = 2, lwd = 0.5)
# one way to have a custom x axis
plot(1:10, xaxt = "n")
axis(1, xaxp = c(2, 9, 7))
## Changing default gap between labels:
plot(0:100, type="n", axes=FALSE, ann=FALSE)
title(quote("axis(1, .., gap.axis = f)," ~~ f >= 0))
axis(2, at = 5*(0:20), las = 1, gap.axis = 1/4)
gaps <- c(4, 2, 1, 1/2, 1/4, 0.1, 0)
chG <- paste0(ifelse(gaps == 1, "default: ", ""),
"gap.axis=", formatC(gaps))
jj <- seq_along(gaps)
linG <- -2.5*(jj-1)
for(j in jj) {
isD <- gaps[j] == 1 # is default
axis (1, at=5*(0:20), gap.axis = gaps[j], padj=-1, line = linG[j],
col.axis = if(isD) "forest green" else 1, font.axis= 1+isD)
}
mtext(chG, side=1, padj=-1, line = linG -1/2, cex=3/4,
col = ifelse(gaps == 1, "forest green", "blue3"))
## now shrink the window (in x- and y-direction) and observe the axis labels drawn
參考
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
也可以看看
Axis
用於通用接口。
axTicks
返回 at = NULL
對應的軸刻度位置; pretty
對於計算漂亮的刻度坐標更加靈活,並且不依賴(也不適應)所使用的坐標係。
par
中記錄了幾個影響外觀的圖形參數。
相關用法
- R axis.POSIXct 日期和日期時間繪圖函數
- R axTicks 計算軸刻度線位置
- R arrows 將箭頭添加到繪圖中
- R abline 將直線添加到繪圖中
- R assocplot 關聯圖
- R legend 將圖例添加到繪圖中
- R barplot 條形圖
- R plot.histogram 繪製直方圖
- R points 向繪圖添加點
- R stem 莖葉圖
- R mtext 將文本寫入繪圖的邊距
- R contour 顯示輪廓
- R pairs 散點圖矩陣
- R stars 星圖(蜘蛛圖/雷達圖)和線段圖
- R box 在地塊周圍畫一個方框
- R coplot 調節圖
- R smoothScatter 具有平滑密度顏色表示的散點圖
- R mosaicplot 馬賽克圖
- R bxp 從摘要中繪製箱線圖
- R plot.raster 繪製光柵圖像
- R curve 繪製函數圖
- R plot.factor 繪製因子變量
- R sunflowerplot 製作向日葵散點圖
- R plot.table 表對象的繪圖方法
- R units 圖形單位
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Add an Axis to a Plot。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。