R語言實(shí)戰(zhàn)(第2版):第三章 圖形初階(01)

3.1 使用圖形

R是一個驚艷的圖形構(gòu)建平臺。這里我特意使用了構(gòu)建一詞。在通常的交互式會話中,你可以通過逐條輸入語句構(gòu)建圖形,逐漸完善圖形特征,直至得到想要的效果。

attach(mtcars) 
plot(wt, mpg) 
abline(lm(mpg~wt)) 
attach(mtcars) 
plot(wt, mpg) 
abline(lm(mpg~wt)) 

以下代碼會將圖形保存到當(dāng)前工作目錄中名為mygraph.pdf的PDF文件中

pdf("mygraph.pdf") 
 attach(mtcars)  
 plot(wt, mpg) 
 abline(lm(mpg~wt)) 
 title("Regression of MPG on Weight") 
 detach(mtcars) 
dev.off() 

這樣保存實(shí)在是太麻煩了,我們可以直接在軟件手動保存
除了pdf(),還可以使用函數(shù)win.metafile()、png()、jpeg()、bmp()、tiff()、xfig()和postscript()將圖形保存為其他格式。(注意,Windows圖元文件格式僅在Windows系統(tǒng)中可用。)

繪圖
通過執(zhí)行如plot()、hist()(繪制直方圖)或boxplot()這樣的高級繪圖命令來創(chuàng)建一幅新圖形時,通常會覆蓋掉先前的圖形。

3.2 一個簡單的例子


輸入數(shù)據(jù):

dose  <- c(20, 30, 40, 45, 60) 
drugA <- c(16, 20, 27, 40, 60) 
drugB <- c(15, 18, 25, 31, 40) 

使用以下代碼可以創(chuàng)建一幅描述藥物A的劑量和響應(yīng)關(guān)系的圖形:

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

plot()是R中為對象作圖的一個泛型函數(shù)(它的輸出將根據(jù)所繪制對象類型的不同而變化)。本例中,plot(x, y, type="b")將x置于橫軸,將y置于縱軸,繪制點(diǎn)集(x, y),然后使用線段將其連接。選項(xiàng)type="b"表示同時繪制點(diǎn)和線。使用help(plot)可以查看其他選項(xiàng)。

3.3 圖形參數(shù)

我們可以通過修改稱為圖形參數(shù)的選項(xiàng)來自定義一幅圖形的多個特征(字體、顏色、坐標(biāo)軸、標(biāo)簽)。一種方法是通過函數(shù)par()來指定這些選項(xiàng)。以這種方式設(shè)定的參數(shù)值除非被再次修改,否則將在會話結(jié)束前一直有效。其調(diào)用格式為par(optionname=value, optionname=name,...)。不加參數(shù)地執(zhí)行par()將生成一個含有當(dāng)前圖形參數(shù)設(shè)置的列表。添加參數(shù)no.readonly=TRUE可以生成一個可以修改的當(dāng)前圖形參數(shù)列表。

opar <- par(no.readonly=TRUE) 
par(lty=2, pch=17)
plot(dose, drugA, type="b") 
par(opar)

3.3.1 符號和線條



對于符號21~25,你還可以指定邊界顏色(col=)和填充色(bg=)。
選項(xiàng)lty=用于指定想要的線條類型。可用的值如圖3-5所示。



綜合以上選項(xiàng),以下代碼:
plot(dose, drugA, type="b", lty=3, lwd=3, pch=15, cex=2)

3.3.2 顏色

3.3.3 文本屬性


3.3.4 圖形尺寸與邊界尺寸


使用代碼:

par(pin=c(4,3), mai=c(1,.5, 1, .2)) 

可生成一幅4英寸寬、3英寸高、上下邊界為1英寸、左邊界為0.5英寸、右邊界為0.2英寸的圖形。

3.4 添加文本、自定義坐標(biāo)軸和圖例

除了圖形參數(shù),許多高級繪圖函數(shù)(例如plot、hist、boxplot)也允許自行設(shè)定坐標(biāo)軸和文本標(biāo)注選項(xiàng)。舉例來說,以下代碼在圖形上添加了標(biāo)題(main)、副標(biāo)題(sub)、坐標(biāo)軸標(biāo)簽(xlab、ylab)并指定了坐標(biāo)軸范圍(xlim、ylim)。結(jié)果如圖3-8所示。

plot(dose, drugA, type="b",  
     col="red", lty=2, pch=2, lwd=2, 
     main="Clinical Trials for Drug A", 
     sub="This is hypothetical data", 
     xlab="Dosage", ylab="Drug Response", 
     xlim=c(0, 60), ylim=c(0, 70)) 

R語言實(shí)戰(zhàn)(第2版):第一章 R語言介紹
R語言實(shí)戰(zhàn)(第2版):第二章 創(chuàng)建數(shù)據(jù)集(01)
R語言實(shí)戰(zhàn)(第2版):第二章 創(chuàng)建數(shù)據(jù)集(02)
R語言實(shí)戰(zhàn)(第2版):第二章 創(chuàng)建數(shù)據(jù)集(03)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容