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等。
相關帖子
plant simulation 圖形資料庫關于基金回撤圖形的問題
9.png?(34.63 KB)