中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

R語言筆記 R中設置圖形參數--函數par()詳解

發布時間:2020-04-07 23:07:24 來源:網絡 閱讀:3819 作者:jackwxh 欄目:編程語言

   R有著非常強大的繪圖功能,我們可以利用簡單的幾行代碼繪制出各種圖形來,但是有時候默認的圖形設置沒法滿足我們的需要,甚至會碰到各種各樣的小問題:如坐標軸或者標題出界了,或者圖例說明的大小或者位置遮擋住了圖形,甚至有時候默認的顏色也不能滿足我們的需求。如何進行調整呢?這就用到了“強大”的函數par()。我們可以通過設定函數par()的各個參數來調整我們的圖形,這篇博文就是對函數par()的各個參數進行一下總結。

    函數par()的使用格式如下:

      par(..., no.readonly = FALSE)

    其中...表示所有類似于tag=value形式的參數。下面會具體的對這些參數進行描述。當參數no.readonly=TRUE時,函數par()就只允許有這一個參數了,并且會返回當前繪圖設備中各個參數的參數值。

    每一個圖形設備都有自己的繪圖參數,如果當前還沒有打開繪圖設備,那么函數par()在進行參數設置之前會自動的打開一個新繪圖設備。
   如前面所說,直接在R編輯器中輸入命令par()或者par(no.readonly=TRUE)都可以獲取當前的各個繪圖參數。
    函數par()中的參數可以分為三大類:

  1. 只能讀取,不能進行設置。包括參數cin,cra,csi,cxy, din。

  2. 只能通過函數par()進行設置。包括參數:


  • "ask",

  • "fig""fin",

  • "lheight",

  • "mai""mar""mex""mfcol""mfrow""mfg",

  • "new",

  • "oma""omd""omi",

  • "pin""plt""ps""pty",

  • "usr",

  • "xlog""ylog"

剩下的參數除了函數par()外,還可以通過各種高級繪圖函數進行設置,如函數plot,points,lines,abline,title,text,axis,p_w_picpath,box,contour,rect,arrows等。

    當一個參數的值被設定時,默認的會返回設定之前這個參數的值,我們可以通常一些變量把這些值保存下來。執行完操作之后,可以利用這些歷史值進行恢復設定(但是不建議這么做,因為可能會引起一些參數值沖突)。如:

> x<-par(bg="red")
> x
$bg
[1] "transparent"

> plot(1:10)
> par(x)
> plot(1:100)

    接下來就對各個參數的含義進行一下大概的說明,中間會用一些簡單的代碼作為示例。


    • adj。該參數值用于設定在text、mtext、title中字符串的對齊方向。0表示左對齊,0.5(默認值)表示居中,而1表示右對齊(說明一下,區間[0,1]內的任何值都可以作為參數adj的有效值,并且在大部分的圖形設備中,介于區間外的值也是有效的)。注意一下,函數text中的參數adj的值可以以類似于形式adj=c(x,y)調整方向。但是在text中該參數的值影響的是對點的標記,對函數mtext和title來說,參數adj的值影響的是整個圖像或設備區域。

    • > par(mfrow=c(1,2))
      > plot(1:4)
      > title("plot(1:4)",adj=0)
      > plot(1:4)
      > title("plot(1:4)",adj=1)

  • ann。如果ann=FALSE,那么高水平繪圖函數會調用函數plot.default使對坐標軸名稱、整體圖像名稱不做任何注解。默認值為TRUE。

> plot(1:4,ann=FALSE,main='plot(1:4,ann=FALSE)')#盡管指定了參數main的值,但是圖像中仍然沒有顯示
> plot(1:4,ann=TRUE,main='plot(1:4,ann=FALSE)')

  • ask,邏輯值。若為TRUE(且當前的R會話是可交互狀態),則在繪制新圖像之前會要求用戶輸入確認信息。同樣的,會對擴展包grid和lattice的輸出有影響,甚至可能會應用到沒有屏幕輸出的設備上(但可能會沒有效果)。

  • bg。用于設定繪圖區域的背景顏色。當通過函數par()調用時,會同時設定參數new=FALSE。對很多設備來說,該參數的初始值就是該設備的背景顏色值,其他情況下一般為"white"。需要注意一點的是,一些圖形函數例如plot.default和points等也有名為bg的參數,但是代表的含義是不同的。

  • bty。該參數值為字符串型,用于限定圖形的邊框類型。如果bty的值為"o"(默認值)、"l"、"7"、"c"、"u"或者"]"中的任意一個,對應的邊框類型就和該字母的形狀相似。如果bty的值為"n",表示無邊框。

  • cex。用于表示對默認的繪圖文本和符號放大多少倍。需要注意一些繪圖函數如plot.default等也有一個相同名字的參數,但是此時表示在函數par()的參數cex的基礎上再放大多少倍,此外還有函數points等接受一個數值向量為參數。

  • cex.axis。表示在當前的cex設定情況下,對坐標軸刻度值字體的放大倍數。

  • cex.lab。表示在當前的cex設定情況下,對坐標軸名稱字體的放大倍數。

  • cex.main。表示在當前的cex設定情況下,對主標題字體的放大倍數。

  • cex.sub。表示在當前的cex設定情況下,對子標題字體的放大倍數。

  • cin。這是一個只讀參數,不能進行修改。以形式(width,height)返回字體大小,單位為英寸。這和參數cra的作用一樣,只是測量單位不同。

  • col。用于設定默認的繪圖顏色(無可否認這是一個非常特別的參數,以后會總結博文專門討論如何設定顏色R語言筆記  R中設置圖形參數--函數par()詳解)。

  • col.axis。坐標軸刻度值的顏色,默認為"black"。如代碼:

> par(cex.axis=3,col.axis="red")

> plot(1:4)

  • col.lab。坐標軸名稱的顏色,默認為"black"。

  • col.main。主標題的顏色,默認為"black"。

  • col.sub。子標題的顏色,默認為"black"。

  • cra。參見參數cin的說明。

  • crt。該參數的值為一個表示度數的數值,用于表示單個字符的旋轉度數,最好為90的倍數。和參數srt的不同之處在于后者是對整個字符串進行旋轉。

  • csi。只讀參數,返回默認的字符高度,以英寸為單位。

  • cxy。只讀參數,以形式(width,height)返回默認的字符寬度、高度,其中par("cxy")=par("cin")/par("pin")。

  • din。只讀參數,表示繪圖設備的尺寸規格,以形式(width,height)返回,單位為英寸。

  • family。圖形中字符的字體類型。最大的長度為200 bytes。默認值為"",表示采用繪圖設備的默認字體。

  • fg。圖形中顯著位置的顏色(如坐標軸、刻度線,邊框等),一般默認為"black"。

  • fig。一個數值向量,形式為c(x1, x2, y1, y2),用于設定當前圖形在繪圖設備中所占區域,注意需要滿足x1<x2,y1<y2。如果修改參數fig,會自動打開一個新的繪圖設備,而若希望在原來的繪圖設備中添加新的圖形,需要和參數new=TRUE一起使用。如代碼:

> par(fig=c(0,0.5,0,0.5))
> plot(1:3)

> par(fig=c(0.5,1,0.5,1))
> plot(1:3)

> par(fig=c(0,0.5,0,0.5),new=TRUE)

> plot(1:3)

  • fin。當前繪圖區域的尺寸規格,形式為(width,height),單位為英寸。如果修改了這個參數的值,默認為啟動一個新的繪圖設備。

  • font。用于設定采用哪種字型,為一個整數。1代表純文本(默認值),2表示黑體,3表示斜體,4表示黑色斜體。在Adobe字符編碼下,5也可以。

  • font.axis。坐標軸刻度值的字型。

  • font.lab。坐標軸名稱的字型。

  • font.main。主標題的字型。

  • font.sub。子標題的字型。

  • lab。以形式c(x,y,len)表示的數值型向量,用于對坐標軸的名稱進行設定。值x和y用于設定x和y軸上的刻度線的個數,而len設定了刻度線的長度(目前R中這個值是沒有效應的)。

  • las。只能是0,1,2,3中的某一個值,用于表示刻度值的方向。0表示總是平行于坐標軸;1表示總是水平方向;2表示總是垂直于坐標軸;3表示總是垂直方向。

  • lend。線段的端點樣式,參數值可以為一個整數或者一個字符串。參數值為0或者"round"時,表示端點樣式為圓角(默認值);為1或者"butt"時,表示端點直接截斷;為2或者"square"表示延伸末端。如代碼:

> plot(1:8,type="n",ylim=c(1,6))
> x0<-c(1,2,3,5,6)
> y0<-rep(1,5)
> x1<-x0
> y1<-rep(6,5)
> segments(x0,y0,x1,y1)
> x0<-rep(0,4)
> y0<-seq(1.3,4.3,1)
> x1<-c(1,6,3,1)
> y1<-y0
#默認情形
> segments(x0,y0,x1,y0,lwd=10,col="red")
#修改參數lend=1
> y0<-seq(1.6,4.6,1)
> y1<-y0
> segments(x0,y0,x1,y0,lwd=10,col="green",lend=1)
#修改參數lend=2
> y0<-seq(1.9,4.9,1)
> y1<-y0
> x0<-x1
> x1<-c(2,8,5,3)
> segments(x0,y0,x1,y0,lwd=10,col="blue",lend=2)

  • lty。直線類型。參數的值可以為整數(0為空,1為實線(默認值),2為虛線,3為點線,還可以為4、5、6等),也可以為字符串(和整數是一一對應的,如"blank"、"solid"、"dashed"、"dotted"、"dotdash"、"longdash"或者 "twodash")。

  • lwd。線條寬度。必須為一個整數,默認值為1。具體的實現根據設備而定,有一些繪圖設備不支持線條寬度小于1。

  • mfcol,mrow。用于設定圖像設備的布局(簡單的說就是將當前的繪圖設備分隔成了nr*nc個子設備),參數形式為c(nr, nc)。子圖的繪圖順序是按列還是按行就分別根據是參數指定的是mfcol還是mfrow。想要實現相同的功能還可以利用函數layout或者split.screen。

  • mgp。設定標題、坐標軸名稱、坐標軸距圖形邊框的距離。默認值為c(3,1,0),其中第一個值影響的是標題。

  • new。邏輯值,默認值為FALSE。如果設定為TRUE,那么下一個高級繪圖命令并不會清空當前繪圖設備。

  • oma。參數形式為c(bottom, left, top, right) ,用于設定外邊界。

  • omi。和參數oma的作用一樣,只是這次參數的單位為英寸。

  • pch。表示點的形狀,它的值可以為數值型(介于0到25之間的數值),也可以為字符型。1代表圓圈,2代表三角形,3代表“+”號。當pch的值為字符型時,那么點就通過該字符來表示。

  • pin。當前的維度,形式為c(width,height),單位為英寸。

  • plt。形式為 c(x1, x2, y1, y2),設定當前的繪圖區域。

  • pty。一個字符型參數,表示當前繪圖區域的形狀,"s"表示生成一個正方形區域,而"m"表示生成最大的繪圖區域。

  • srt。字符串旋轉度數,只支持函數text。

  • tck。刻度線的長度,為一個小于等于的小數,表示繪圖區域的高度或寬度的一部分(取高度或寬度中較小的值)。如果tck=1,則表示繪制網格線。默認值為NA(相當于tcl=-0.5)。

  • tcl。同樣可用于設定刻度線的長度,但是和tck的單位不同。它的默認值為-0.5。

  • usr。一個形式為c(x1, x2, y1, y2)的向量,表示當前繪圖區域的坐標值范圍:c(xleft, xright, ybottom, ytop)。如果采用的對數刻度(如par("xlog")=TRUE),那么x坐標軸的表示范圍為10^par("usr")[1:2],同樣也可以得到y坐標軸的表示范圍。

  • xaxp。一個形式為c(x1, x2, n)的向量,表示當par("xlog")=false時,x坐標軸的刻度線的區間及區間中的刻度線個數。若par("xlog")=TRUE,情形就稍微復雜了:若取值范圍較小,那么n是一個負數,且刻度線的分布和正常情形(沒有對數轉換)下相似;若n取值為1、2、3中的一個,c(x1,x2)=10^par("usr")[1:2](并且此時par("usr")是指par("xlog")=TRUE情況下返回的值)。具體解釋如下:

n=1,在坐標值為10^j(j為整數)處繪制刻度線。

n=2,在坐標值為k*(10^j)處繪制刻度線,其中k為1或者5。

n=3,在坐標值為k*(10^j)處繪制刻度線,其中k為1、2或者5。

  • yaxp。同xaxp類似,表示y坐標軸的刻度線的區間及區間中的刻度線個數。

  • xaxs。坐標軸x的間隔設定方式。取值范圍為:"r", "i""e""s""d"。一般來說,計算方式是由xlim的數值范圍確定的(如果xlim指定了的話)。"r"(regular)首先會對數值范圍向兩端各延伸4%,然后在延伸后的數值區間中設置坐標值;"i"(internal)直接在原始的數據范圍中設置坐標值;"s"(standard)和"e"(extended)、;"d"(direct)目前還不支持。

  • yaxs。類似于xaxs,對坐標軸y的間隔設定方式。

  • xaxt。用于設定x坐標軸的刻度值類型,為一個字符。"n"表示不繪制刻度值及刻度線;"s"表示繪制,默認值。

  • yaxt。類似于xaxt。

  • xlog。一個邏輯值。如果為TRUE,表示對x軸為對數坐標軸,默認值為FALSE。

  • ylog。類似于xlog。

    最后,說明一點:如何設定顏色?R提供了很多和顏色相關的函數供我們調用,如colors()、palette()、rainbow()、rgb()、gray()、hsv()、hcl()等等。以后也會對“如何設定顏色”這一問題進行整理,并且接下來關于R語言的博文也會重點關注于可視化方面,包括如何繪制散點圖、條形圖、熱點圖、地圖等。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

广东省| 托克逊县| 图们市| 昌吉市| 抚宁县| 塔城市| 辛集市| 监利县| 大名县| 齐河县| 盐池县| 舟山市| 南溪县| 嘉荫县| 祁东县| 新和县| 巍山| 岢岚县| 常山县| 衢州市| 江口县| 清涧县| 敦煌市| 河北区| 辽宁省| 同江市| 农安县| 奎屯市| 翁源县| 建湖县| 沧州市| 盈江县| 井研县| 太谷县| 丰都县| 昌乐县| 巨鹿县| 阳山县| 临洮县| 西丰县| 濮阳市|