R語言數(shù)據(jù)可視化學(xué)習(xí)之圖形參數(shù)修改詳解
1、圖形參數(shù)的修改par()函數(shù)
我們可以通過使用par()函數(shù)來修改圖形的參數(shù),其調(diào)用格式為par(optionname=name, optionname=name,…)。當par()不加參數(shù)時,返回當前圖形參數(shù)設(shè)置的列表;par(no.readonly=T)將生成一個可以修改當前參數(shù)設(shè)置的列表。注意以這種方式修改參數(shù)設(shè)置,除非參數(shù)再次被修改,否則一直執(zhí)行此參數(shù)設(shè)置。 例如現(xiàn)在想畫出mtcars數(shù)據(jù)集中mpg的折線圖,并用虛線代替實線,并將兩幅圖排列在同一幅圖里,代碼及圖形如下:
> opar<-par(no.readonly=T) #生成修改當前參數(shù)設(shè)置的列表 > par(mfrow=c(2,1)) #兩幅圖排成2行1列 > plot(mpg,type="b",main="實線折線圖") > par(lty=2,pch=16) #將實線改為虛線,空心圓改為實心圓 > plot(mpg,type="b",main="虛線折線圖") > par(opar) #結(jié)束此次參數(shù)設(shè)置
par()函數(shù)可以修改的參數(shù)見下表:
選項 | 含義 |
---|---|
pch | 指定繪點時所使用的符號。具體符號的表示見《R語言實戰(zhàn)》第2版的第3章 |
cex | 是一個數(shù)值,默認值為1,用來指定符號的大小 |
lty | 圖形線條類型。具體符號的表示見《R語言實戰(zhàn)》第2版的第3章 |
lwd | 設(shè)置圖形線條寬度,默認值為1 |
col | 圖形線條顏色,可以為向量形式,并且會自動循環(huán)使用。如c(“red”,”green”),需要繪制4條線,則4條線的顏色依次為red,green,red,green |
col.axis | 坐標軸刻度文字的顏色 |
col.lab | 坐標軸名稱的顏色 |
col.main | 圖形標題的顏色 |
col.sub | 圖形副標題的顏色 |
bg | 圖形的背景顏色 |
cex | 指定文本大小。默認值為1 |
cex.axis | 坐標軸刻度文字的大小 |
cex.lab | 坐標軸標簽的大小 |
cex.main | 圖形標題的大小 |
cex.sub | 圖形副標題的大小 |
font | 指定繪圖使用的字體樣式,取整數(shù)。1=常規(guī),2=粗體,3=斜體,4=粗斜體,5=符號字體 |
font.axis | 坐標軸刻度字體的樣式 |
font.lab | 坐標軸名稱的字體樣式 |
font.main | 圖形標題的字體樣式 |
font.sub | 圖形副標題的字體樣式 |
ps | 字體磅值,文本的最終大小為ps*cex |
pin | 圖形的寬和高,以英寸表示 |
mai | 以數(shù)值向量表示的圖形邊界的大小,順序為“下,左,上,右”,單位為英寸 |
mar | 以數(shù)值向量表示的圖形邊界的大小,順序為“下,左,上,右”,單位為英分 |
2、自定義標題title()和坐標軸axis()
可使用title()添加圖形標題和坐標軸標簽。調(diào)用格式為:title(main=”main title”,sub=”subtitle”,xlab=”',ylab=”“)。 示例代碼如下:
> plot(mpg,xlim=c(0,40),ylim=c(5,40),type="b") #定義了x,y軸的范圍 > title(ylab="耗油量",xlab="x",main="mpg折線圖")
同樣可以使用axis()來自定義坐標軸,調(diào)用格式如下:axis(side,at=,labels=,pos=,lty=,col=,las=,tck=,…) 自定義坐標軸時,應(yīng)將繪圖函數(shù)里自動生成的坐標軸禁用.
選項 | 含義 |
---|---|
axes=F | 禁用全部坐標軸,包括坐標軸框線,除非添加了參數(shù)frame.plot=T |
xaxt=”n” | 去除x軸上的刻度線 |
yaxt=”n” | 去除y軸上的刻度線 |
axis()函數(shù)參數(shù)的釋義如下表所示:
選項 | 含義 |
---|---|
side | 表示在圖形的哪邊繪制坐標軸,取值為整數(shù)。1=下,2=左,3=右,4=上 |
at | 數(shù)值向量,表示要繪制刻度的位置 |
labels | 字符向量,表示刻度線旁的文字標簽,若為NULL,則直接用at中的值代替 |
pos | 繪制坐標軸的位置坐標 |
lty | 線條類型 |
col | 線條和刻度顏色 |
las | 標簽是否平行或者垂直于坐標軸(0=平行,2=垂直) |
tck | 刻度線的長度,正值表示在圖形內(nèi)側(cè),負值表示在外側(cè),默認值為-0.01 |
現(xiàn)在需要繪制x軸坐標在下,坐標軸線為紅色 ,且刻度以5位間隔的mpg的折線圖。代碼及圖形如下:
> attach(mtcars) > par(mar=c(5,8,8,2)+0.1)#增加圖形邊界 > plot(mpg,xaxt="n",type="b",main="去除x軸刻度線")#一定要設(shè)置xaxt="n",去除x軸的刻度 > axis(side=1,at=seq(1,40,5),col="red",tck=-0.02)#繪制自己想要的坐標軸
3、參考線abline()及圖例legend()
可以使用abline()函數(shù)為圖形添加參考線,調(diào)用格式為abline(h=,v=,col,lty,…),顏色,線條類型參數(shù)的含義同上,這里只解釋h和v的含義。
選項 | 含義 |
---|---|
h | 水平參考線的值 |
v | 垂直參考線的值 |
如使用abline()函數(shù)為上圖添加一條水平y(tǒng)=20,紅色的參考線。代碼及圖形如下:
> attach(mtcars) > par(mar=c(5,8,8,2)+0.1)#增加圖形邊界 > plot(mpg,xaxt="n",type="b",main="去除x軸刻度線")#一定要設(shè)置xaxt="n",去除x軸的刻度 > axis(side=1,at=seq(1,40,5),col="red",tck=-0.02)#繪制自己想要的坐標軸 > abline(h=20,col="red") #添加參考線
當圖形中的數(shù)據(jù)包含多組時,我們就需要對圖形添加一個圖例來說明每一組數(shù)據(jù)。legend()函數(shù)可以用來添加圖例,調(diào)用格式如下:legend(location,title,col,cex,lty,…)
參數(shù) | 含義 |
---|---|
location | 指定圖例的位置。有三種方法:1、直接給定圖例左上角x,y坐標。2、使用locator(1),然后通過在圖形上單擊鼠標確定圖例的位置。一般這種方法比較好用。3、直接使用關(guān)鍵字,如bottom,bottomleft,topleft,left,right,center,top,topright,right等 |
legend | 圖例標簽的名稱,通常為一個字符向量 |
title | 圖例的名稱 |
col | 圖例中每組變量圖線的顏色,通常為一個向量 |
cex | 圖例大小,默認為1 |
lty | 圖例中每組變量圖線的類型,通常為一個向量 |
示例代碼如下:
> y<-c(1:10) > x1<-seq(1,20,2) > x2<-seq(1,30,3) > plot(x1,y,type="b",col="red",lty=1,pch=1,xlim=c(0,30),xlab="") > lines(x2,y,type="b",col="green",lty=2,pch=2) #添加第二組數(shù)據(jù)的圖線 >legend(locator(1),legend=c("x1","x2"),col=c("red","green"),lty=c(1,2),cex=0.7,pch=c(1,2)) #使用鼠標單擊確定圖例位置的方法添加圖例
4、添加文本標注text()和mtext()
有時畫出圖形后,想要對圖中的點的標簽標出,這時可以使用text()和mtext(),其中text()可以在繪圖區(qū)域里添加文本標簽,mtext()可以在繪圖區(qū)域外添加文本標簽。調(diào)用格式為:text(location,labels,pos,side,…)
參數(shù) | 含義 |
---|---|
location | 指定文本的位置??墒褂脁,y坐標確定需要添加文本的位置,也可使用locator(n),用鼠標交互式的確定n個文本標簽的位置 |
labels | 文本標簽,通常為一個向量,文本標簽向量的長度必須和location中x,y的長度一致 |
pos | 文本相對點的方位。1=下,2=左,3=上,4=右。同時可以指定offset=作為偏移量,以相對于單個媳婦寬度的比例表示 |
side | 指定放置文本的邊。1=下,2=左,3=上,4=右 |
line | 內(nèi)移或外移文本 |
> y<-c(1:10) > x1<-seq(1,20,2) > x2<-seq(1,30,3) > plot(x1,y,type="b",col="red",lty=1,pch=1,xlim=c(0,30),xlab="") > lines(x2,y,type="b",col="green",lty=2,pch=2) >legend(locator(1),legend=c("x1","x2"),col=c("red","green"),lty=c(1,2),cex=0.7,pch=c(1,2)) > text(locator(2),c("a","b"),pos=4) #添加2個文本標簽
總結(jié)
到此這篇關(guān)于R語言數(shù)據(jù)可視化學(xué)習(xí)之圖形參數(shù)修改的文章就介紹到這了,更多相關(guān)R語言圖形參數(shù)修改內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
R語言實現(xiàn)對數(shù)據(jù)框按某一列分組求組內(nèi)平均值
這篇文章主要介紹了R語言實現(xiàn)對數(shù)據(jù)框按某一列分組求組內(nèi)平均值,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03大數(shù)據(jù)分析R語言RStudio使用超詳細教程
RStudio是用于R編程的開源工具,這篇文章主要介紹了大數(shù)據(jù)分析R語言RStudio使用教程和一些RStudio的重要技巧,竅門和快捷方式,可快速將您變成RStudio高級用戶,感興趣的朋友跟隨小編一起看看吧2021-03-03