2019-08-03 par函數用法

par(……,no.readonly=FALSE)

參數:

..arguments in tag = value form, or a list of tagged values. The tags must come from the names of graphical parameters described in the ‘Graphical Parameters’ section.(圖形參數選項,一般用tag=value或向量形式展示,如col="black")

no.readonlylogical; if TRUE and there are no other arguments, only parameters are returned which can be set by a subsequent par() call?on the same device.(如取值為TRUE,則可修改當前圖形中的參數)

圖形參數:

1、關于顏色

bg:背景色(在繪圖函數中為圖形填充色,在par函數中為整個圖形的背景色)??fg:前景色 col:圖形顏色,一般用法:col=1,或col="red",或col=rgb(1,1,1),或col=hsv(0,0,1)

col.axis:坐標軸刻度文字顏色??col.main:主標題顏色??col.sub:副標題顏色? ?col.lab:標簽顏色

code及示例:

dose<-c(20,30,40,45,60)

drugA<-c(16,20,27,40,60)

opar<-par(bg="gray",no.readonly = TRUE)

layout(matrix(c(1,2,3,4,5,6,7,7,7),3,3,byrow = TRUE))

plot(dose,drugA,type="p",main = "type=p")

plot(dose,drugA,type="l",fg="orange",main = "type=l and fg=orange")

plot(dose,drugA,type="b",col="orangered",main = "type=b and col=orangered")

plot(dose,drugA,type="c",col.axis="yellow",main = "type=c and col.axis=yellow")

plot(dose,drugA,type="o",col.lab="red",main = "type=o and col.lab=red")

plot(dose,drugA,type="h",col.main="red",main = "type=h")

plot(dose,drugA,type="s",col.sub="green",main = "type=s",sub = "sub=green")


2、關于字體

family :全局字體,特指字體的類型,標準取值:serif,sans,mono?

font :字體,特指字體的形態,如斜體還是粗體(1:常規,2:粗體,3:斜體,4:粗斜體,5:符號字體)

font.axis:坐標軸刻度字體? ?font.lab:坐標軸標簽字體? ?font.main:主標題字體??font.sub:副標題字體

code及示例:

opar<-par(bg="gray",no.readonly = TRUE)

par(mfrow=c(2,1))

dose<-c(20,30,40,45,60)

drugA<-c(16,20,27,40,60)

drugB<-c(15,18,25,31,40)

par(family="mono") #mono字體

plot(dose,drugA,type="p")

title(main="family arial style",

sub="clinical trials for drugA ")

par(family="")#默認字體

plot(dose,drugA,type="l",fg="orange")

title(main="type=l and fg=orange",sub = "clinical trials for drugA ")

par(opar)

3、關于大小

cex:相對于圖形默認大小縮放倍數的數值。默認值為1,1.5為放大默認值的1.5倍,0.5為縮小默認值的50%;

cex.axis:坐標軸字體縮放倍數;??cex.lab:坐標軸標簽縮放倍數? ?cex.main:主標題縮放倍數

cex.sub:副標題縮放倍數

ps:字體磅值(文本最終磅值為ps*cex)

code及示例:

opar<-par(no.readonly = TRUE)

par(mfrow=c(2,1))

dose<-c(20,30,40,45,60)

drugA<-c(16,20,27,40,60)

#默認狀態

par(family="mono")

plot(dose,drugA,type="p")

title(main="family arial style",

sub="clinical trials for drugA ")

#字體縮放

par(family="mono")

par(cex.axis=1.5,cex.lab=2,cex.sub=1.5,cex.sub=0.8,ps=10)

plot(dose,drugA,type="p")

title(main="family arial style",

sub="clinical trials for drugA ")

par(opar)


4、關于線條及符號

pch:??繪制點時使用的符號??lty:指定線條類型? ?lwd:線條寬度(默認值1,lwd=2表示為默認值的2倍)

附:


code及示例

dose<-c(20,30,40,45,60)

drugA<-c(16,20,27,40,60)

par(family="mono")

plot(dose,drugA,type="b",pch=21,col="red",bg="orange",lty=3,lwd=2,main="family arial style",

sub="clinical trials for drugA ",cex.axis=1.5,

cex.lab=2,cex.sub=1.5,cex.sub=0.8,ps=10)

5、關于坐標軸,及其標簽、范圍(1)xlab及ylab: x、y軸的標簽,可改變默認值? ???xlim:x軸數據范圍如xlim=c(0,60)??ylim:y軸數據范圍如ylim=c(0,70)(2)axis(side,at=,labels=,pos=,lty=,col=,las=,tck=,outer=,font=,lty=,lwd=,lwd.tick=,col=,col.tick=,……)

side:整數,表示在圖形的哪邊繪制坐標軸(1=下,2=左,3=上,4=右)

at:數值型向量,表示需要繪制刻度線的位置

labels:坐標軸刻度線旁的文字標簽,如為NULL,則將使用at中的值;

pos:坐標軸線繪制位置的坐標(即與另一條坐標軸線相交位置的值);

las:標簽是否平行于(=0)或垂直于(=2)坐標軸;

tck:刻度線長度(負值表示在圖形外側,正值表示在圖形內側,0表示禁用刻度,1表示繪制網格線,默認值為-0.01)(3)次要刻度線(Hmisc包對于最新的r版本已不適用)

code及示例(1)

dose<-c(20,30,40,45,60)

drugA<-c(16,20,27,40,60)

par(family="mono")

plot(dose,drugA,type="b",pch=21,col="red",bg="orange",lty=3,lwd=2,main="family mono style",

sub="clinical trials for drugA ",xlab="dosage",ylab="drug reponse",xlim=c(0,60),ylim=c(0,70)

,cex.axis=1.5,cex.lab=2,cex.sub=1.5,cex.sub=0.8,ps=10)


(2)

opar<-par(no.readonly = TRUE)

par(mar=c(5,4,4,8)+0.1)

dose<-c(20,30,40,45,60)

drugA<-c(16,20,27,40,60)

drugB<-c(15,18,25,31,40)

plot(dose,drugA,type = "b",pch=21,cex=0.5,col="red",xaxt="n",bg="red",lty=3,lwd=2,ann = FALSE)

lines(dose,drugB,type = "b",pch=22,cex=0.6,col="orangered",bg="orangered",lty=3)

axis(1,at=dose,label=dose,col.axis="red",las=0,tck=-0.01)

axis(4,at=drugB,labels = drugB,col.axis="blue",las=2,tck=-0.01)

mtext("drugB",side=4,line=3,las=2,col="blue")

title("An example of drug respose", xlab=" dose value",ylab="drugA")

par(opar)


6、關于圖形尺寸及邊界mai:設定圖形四周的空白尺寸,單位是英寸,以mai=c(bottom,left,top,right)形式使用;


mar:同mai,設定圖形四周的空白尺寸,以mar=c(bottom,left,top,right)形式使用,默認為mar=c(5,4,4,2)+0.1;

oma:設定文本四周的空白區域,以oma=c(bottom,left,top,right)形式使用,如下圖:


omi:同oma,但單位是英寸;

omd:設定坐標軸內圖形距離坐標軸的空白區域參數,以omd=c(x1,x2,y1,y2)形式使用;

code及示圖:

opar<-par(no.readonly = TRUE)

par(mai=c(1,1,1,2))

dose<-c(20,30,40,45,60)

drugA<-c(16,20,27,40,60)

drugB<-c(15,18,25,31,40)

plot(dose,drugA,type = "b",pch=21,cex=0.5,col="red",xaxt="n",bg="red",lty=3,lwd=2,ann = FALSE)

lines(dose,drugB,type = "b",pch=22,cex=0.6,col="orangered",bg="orangered",lty=3)

axis(1,at=dose,label=dose,col.axis="red",las=0,tck=-0.01)

axis(4,at=drugB,labels = drugB,col.axis="blue",las=2,tck=-0.01)

mtext("drugB",side=4,line=3,las=2,col="blue")

title("An example of drug respose", xlab=" dose value",ylab="drugA")

par(opar)


7、關于多圖形布局

(1)mfrow=c(nrows,ncols)按行填充的、行數為nrows、列數為ncols的圖形矩陣;

(2)nfcol=c(nrows,ncols)按列填充矩陣;

(3)layout(mat, widths = rep.int(1, ncol(mat)),heights = rep.int(1, nrow(mat)), respect = FALSE)

? ?mat:矩陣,用以指定圖形繪制的位置;

? ?widths:各列寬度值組成的一個向量;

? ?heights:各行高度值組成的一個向量;(相對寬度可以通過數值直接指定,絕對寬度通過lcm()來指定)布局解析請參見:http://blog.sina.com.cn/s/blog_5de124240101pxvm.html

(4)fig=c(x1,x2,y1,y2)具體意義如下:


code及圖形示例dose<-c(20,30,40,45,60)

drugA<-c(16,20,27,40,60)

drugB<-c(15,18,25,31,40)

par(fig=c(0,0.8,0,0.8),new=FALSE)

plot(dose,drugA,type = "b",pch=21,cex=0.5,col="red",xaxt="n",bg="red",lty=3,lwd=2,ann = FALSE)

lines(dose,drugB,type = "b",pch=22,cex=0.6,col="orangered",bg="orangered",lty=3)

par(fig=c(0,0.8,0.69,0.95),new=TRUE)

boxplot(drugA, horizontal=TRUE, axes=FALSE)

par(fig=c(0.7,0.95,0,0.8),new=TRUE)

boxplot(drugB, axes=FALSE)

mtext("An example of drug respose", side=3, outer=TRUE, line=-3)


8、關于圖例、文本及其他

(1)text(location,"text to place",pos,……)(2)mtext("text to place",side,line=n,……)


另:其他常用選項還有cex、col、font

(3)legend(location,title,legend,.....)


drugA<-c(16,20,27,40,60)

drugB<-c(15,18,25,31,40)

par(fig=c(0,0.8,0,0.8),new=FALSE)

plot(dose,drugA,type = "b",pch=21,cex=0.5,col="red",xaxt="n",bg="red",lty=3,lwd=2,ann = FALSE)

lines(dose,drugB,type = "b",pch=22,cex=0.6,col="orangered",bg="orangered",lty=3)

legend("topleft",inset = .05,title = "drug type",c("A","B"),lty = c(3,3),pch = c(21,22),col=c("red","red"))

par(fig=c(0,0.8,0.69,0.95),new=TRUE)

boxplot(drugA, horizontal=TRUE, axes=FALSE)

par(fig=c(0.7,0.95,0,0.8),new=TRUE)

boxplot(drugB, axes=FALSE)

mtext("An example of drug respose", side=3, outer=TRUE, line=-3)


9、關于par()的其他說明函數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"

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

?點贊 00

分享?收藏1?回貼

相關帖子

運營方向就業班,成為互聯網大廠需要的人寶潔圖形推理題

調節作用圖形解讀因子分析中的biplot圖形

eviews圖形分析SAS 制作圖形以及各種高分辨率圖形

plant simulation 圖形資料庫關于基金回撤圖形的問題

傾向匹配得分的圖形圖形編輯軟件labview應用

9.png?(34.63 KB)

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容