Description:
默認(rèn)的圖形設(shè)置沒(méi)法滿足我們的需要,甚至?xí)龅礁鞣N各樣的問(wèn)題:如坐標(biāo)軸或者標(biāo)題出界了,或者圖例說(shuō)明的大小或者位置遮擋住了圖形,甚至有時(shí)候默認(rèn)的顏色也不能滿足我們的需求。
函數(shù)
par()
優(yōu)化R中默認(rèn)的圖形參數(shù)設(shè)置,使其能更好地展示自己的數(shù)據(jù)。
Usage:
par( …, no.readonly = FALSE)
#... 表示所有類似于tag = value形式的參數(shù)
# 當(dāng)參數(shù)no.readonly = TRUE時(shí),函數(shù)par()就只允許有這一個(gè)參數(shù)了,并且會(huì)返回當(dāng)前繪圖設(shè)備中各個(gè)參數(shù)的參數(shù)值
- 每一個(gè)圖形設(shè)備都有自己的繪圖參數(shù),如果當(dāng)前還沒(méi)有打開(kāi)繪圖設(shè)備,那么函數(shù)
par()
在進(jìn)行參數(shù)設(shè)置之前會(huì)自動(dòng)的打開(kāi)一個(gè)新繪圖設(shè)備。 - 直接在R編輯器中輸入命令
par()
或者par(no.readonly = TRUE)
都可以獲取當(dāng)前的各個(gè)繪圖參數(shù)。
par() #獲取當(dāng)前的各個(gè)繪圖參數(shù)
-
par()
中的參數(shù)分為三大類:
一、僅僅用于詢問(wèn)不能被設(shè)定的參數(shù), 即readonly
參數(shù):cin
,cra
,csi
,cxy
,dim
。
二、僅能通過(guò)par("tag" = value)
設(shè)定參數(shù):ask
,fig
,fin
,lheight
,mai
,mar
,mex
,mfcol
,mfrow
,mfg
,new
,oma
,omd
,omi
,pin
,plt
,ps
,pty
,usr
,xlog
,ylog
,ylbias
。
例1:使用參數(shù)mfrow
多幅圖繪制
n.col <- 2
n.row <- 2
par(mfrow = c(n.col,n.row)) #指定繪圖系統(tǒng)的布局
x <- seq(1:10)
y1 <- rnorm(10, mean = 0, sd = 1)
y2 <- rnorm(10, mean = 3, sd = 1)
y3 <- rnorm(10, mean = 7, sd = 1)
y4 <- rnorm(10, mean = 8, sd = 1)
plot(x,y1,type='p', lty=1, main="use mfrow1 ", col = 1 ,cex.main = 1)
plot(x,y2,type='c', lty=2, main="use mfrow2 ", col = 2, cex.main = 1)
plot(x,y3,type='o', lty=3, main="use mfrow3 ", col = 3, cex.main = 1)
plot(x,y4,type='b', lty=4, main="use mfrow4 ", col = 4, cex.main = 1)
三、除了
par()
,也能在其他高級(jí)繪圖函數(shù)中設(shè)定的參數(shù),包括的方面有大小、顏色、文字、線條和坐標(biāo)軸。
高級(jí)繪圖函數(shù)支持參數(shù)
① 大小
- cex: 設(shè)置文字和符號(hào)相對(duì)于默認(rèn)值的大小, 為一個(gè)比例數(shù)值. 當(dāng)使用 mfrow 或 mfcol 也會(huì)改變?cè)撝?
- cex.axis: 在當(dāng)前 cex 基礎(chǔ)上對(duì)坐標(biāo)軸的大小進(jìn)行調(diào)整的比例.
- cex.lab: 在當(dāng)前 cex 基礎(chǔ)上對(duì)坐標(biāo)軸標(biāo)簽的大小進(jìn)行調(diào)整的比例.
- cex.main: 在當(dāng)前 cex 基礎(chǔ)上對(duì)主標(biāo)題的大小進(jìn)行調(diào)整的比例.
- cex.sub: 在當(dāng)前 cex 基礎(chǔ)上對(duì)小標(biāo)題的大小進(jìn)行調(diào)整的比例.
②顏色
- bg: 設(shè)定背景的顏色, 如果設(shè)置 bg 則 new 會(huì)同時(shí)被設(shè)置為 FALSE, 默認(rèn)的 bg 為 "white".
- fg: 設(shè)置前景的顏色, 默認(rèn)是 "black", 應(yīng)用于坐標(biāo)軸, 標(biāo)題等選項(xiàng).
- col: 設(shè)置顏色向量.
- col.axis: 設(shè)置坐標(biāo)軸的顏色, 默認(rèn)是 "black".
- col.lab: 設(shè)置坐標(biāo)軸標(biāo)簽的顏色, 默認(rèn)是 "black".
- col.main: 設(shè)置主標(biāo)題的顏色, 默認(rèn)是 "black".
- col.sub: 設(shè)置小標(biāo)題的顏色, 默認(rèn)是 "black".
例2 : bg參數(shù)設(shè)置背景
op<-par(bg="light blue") #設(shè)置背景
plot(c(-2, 2), c(-2, 2)) #設(shè)置繪圖區(qū)域
rect(-2, -2, 1, 1, col="cornsilk") #繪制矩形
par(op)
③ 文字
- adj: text, mtext and title. 調(diào)整文字的調(diào)整方式的一個(gè)數(shù)值, 0 代表向左對(duì)齊, 0.5 代表居中 (默認(rèn)), 1 代表向右對(duì)齊, 取值可以在 [0,1] 之間任意.
- crt: 設(shè)置單個(gè)的字符應(yīng)該旋轉(zhuǎn)的角度.
- srt: 設(shè)置字符串成體的旋轉(zhuǎn)的角度.
- family: 設(shè)置字體家族的名稱, 默認(rèn)值是 "", 代表使用設(shè)備默認(rèn)的字體, 有 "serif" "sans" "mono" 等. 可以使用 library(extrafont) 來(lái)加載字體, 使用 family 來(lái)設(shè)置使用地字體.
- font: 指明使用字體的整數(shù), 1 是普通, 2 是粗體, 3 是意大利體, 4 是粗意大利體. 5 是符號(hào).
- font.axis: 坐標(biāo)軸的字體.
- font.lab: 坐標(biāo)軸標(biāo)簽的字體.
- font.main: 主標(biāo)題的字體.
- font.sub: 小標(biāo)題的字體.
③線條
- lty: line type. 可以是數(shù)字或者字符, (0 = "blank", 1 = "solid" (default), 2 = "dashed", 3 = "dotted", 4 = "dotdash", 5 = "longdash", 6 = "twodash")
- lwd: line width. 默認(rèn)是 1, 設(shè)置線寬的放大倍數(shù).
- lmitre: 設(shè)置轉(zhuǎn)折什么時(shí)候應(yīng)該從 mitre 轉(zhuǎn)換為 bevel, 值應(yīng)該大于 1, 默認(rèn)是 10.
- lend: 線條結(jié)束的風(fēng)格, 可以是數(shù)字或字符串. 0, 或者 "round", 線頭為圓形; 1, 或者 "butt", 線頭為平頭; 2, 或者 "square", 線頭為正方形, 即增加一個(gè)正方形.
- ljoin: 線條轉(zhuǎn)折的風(fēng)格, 可以是數(shù)字或字符串. 0, 或者 "round", 圓形轉(zhuǎn)折; 1, 或者 "mitre", 楔形轉(zhuǎn)折; 2, 或者 "bevel", 平截轉(zhuǎn)折.
④坐標(biāo)軸
ann: 如果該值為 FALSE, 則高級(jí)繪圖函數(shù)默認(rèn)不輸出坐標(biāo)軸標(biāo)題等注釋. 默認(rèn)為 TRUE, 即輸出圖像注釋.
lab: 設(shè)置坐標(biāo)軸注釋方式的向量 c(x, y, len), 默認(rèn)是 c(5, 5, 7). x 指的是在 x 軸的刻度的數(shù)量, y 指的是在 y 軸的刻度的數(shù)量, len 指的是刻度的長(zhǎng)度.
las: 設(shè)置坐標(biāo)軸標(biāo)簽的風(fēng)格, 在 0, 1, 2, 3 中取值. 0, 默認(rèn), 和坐標(biāo)軸平行; 1, 水平; 2, 和坐標(biāo)軸垂直; 3, 垂直. crt 和 srt 不會(huì)對(duì)其產(chǎn)生影響.
tck: 刻度線的相對(duì)長(zhǎng)度,為一個(gè)有符號(hào)的比值,表示繪圖區(qū)域的高度或?qū)挾鹊谋壤? 如果是正值, 則在圖像區(qū)域內(nèi)畫, 當(dāng) tck = 1 的時(shí)候, 繪制網(wǎng)格; 如果是負(fù)值, 則向邊界繪制, 默認(rèn)為 NA 時(shí), 使用 tcl = -0.5.
tcl: 刻度線的相對(duì)長(zhǎng)度, 為相對(duì)于一行高度的比值, 正值表示向繪圖中心區(qū)域延伸, 負(fù)值表示向邊緣延伸.
xaxp, yaxp: 設(shè)置極值刻度的樣式. c(x1, x2, n), c(y1, y2, n). 當(dāng) xlog = FALSE 或者 ylog = FALSE 的時(shí)候, 相應(yīng)的 xaxp 和 yaxp 中, x1 x2 和 y1 y2 分別表示 x 軸極值和 y 軸極值, n 表示在極值中間的刻度的個(gè)數(shù). xlog = TRUE 和 ylog = TRUE 時(shí), n 的調(diào)整會(huì)相應(yīng)改變. 通過(guò) lab 的前兩項(xiàng)也可以設(shè)置 x 軸和 y 軸 n.xaxs, yaxs: 繪圖區(qū)域和坐標(biāo)軸間隔的設(shè)置, 值為字符, R 中暫時(shí)只支持 "r" 和 "i". "r" (regular) 先把數(shù)據(jù)的極值向兩端延伸 4% 再尋找合適的坐標(biāo)軸; "i" (internal) 直接在原來(lái)的數(shù)據(jù)范圍內(nèi)尋找合適的位置繪制坐標(biāo)軸; "s" (standard) 找到合適的地方繪制坐標(biāo)軸; "e" (extended) 類似于 "s" 不過(guò)其保證圖像中符號(hào)可以正確被繪制; "d" (direct) 后面繪圖也用本次坐標(biāo)軸.
xaxt, yaxt: 坐標(biāo)軸的型式, 值為字符. "n" 表示不繪制坐標(biāo)軸, 其他字符均表示繪制坐標(biāo)軸.
xlog, ylog: 坐標(biāo)軸取 log 值.
bty: 設(shè)定 box 所繪制的方框的類型, plot 等函數(shù)也可以設(shè)置, 默認(rèn)為 "o", 設(shè)置的型式類似其大寫字母性狀. "o" 代表四周都有線; "l" 代表左側(cè)和下側(cè)有線; "7" 代表右側(cè)和上側(cè)有線; "c" 代表左側(cè)和上下側(cè)均有線; "u" 代表左右兩側(cè)和下側(cè)有線; "]" 代表右側(cè)和上下側(cè)均有線; "n" 不輸出方框.
xpd: 剪切圖片, 可以參看 clip 函數(shù). 如果 xpd 值為 FALSE, 所有的圖形被剪切為繪圖區(qū)域 (plot); 如果 xpd 值為 TRUE, 所有圖形被剪切為圖像區(qū)域 (figure) (繪圖區(qū)域和邊緣 (margin)); 如果 xpd 值為NA, 則圖形被剪切為設(shè)備區(qū)域, 即圖像區(qū)域和外邊界(outer) (參看下面圖像區(qū)域圖片).
參考文獻(xiàn)
R 學(xué)習(xí)筆記: Par 函數(shù)
R圖形參數(shù)-par() 函數(shù)詳解