R語言實戰 第三章 圖形初階-知識點
R語言實戰 第三章 圖形初階
3.1 使用圖形
如何才能創建多個圖形並隨時查看每一個呢?方法有若干。
第一種方法,你可以在創建一幅新圖形之前打開一個新的圖形窗口:
第二種方法,你可以通過圖形用戶界面來查看多個圖形。
最後一種方法,你可以使用函數dev.new()、dev.next()、dev.prev()、dev.set()和
dev.off()同時打開多個圖形窗口,並選擇將哪個輸出發送到哪個窗口中。這種方法全平台適用。
3.3 圖形參數
一種方法是通過函數par()來指定這些選項。以這種方式設定的參數值除非被再次修改,
否則將在會話結束前一直有效。其調用格式為par(optionname=value,optionname=name,...)。不加參數地執行par()將生成一個含有當前圖形參數設置的列表。添加參數no.readonly=TRUE可以生成一個可以修改的當前圖形參數列表。
例子:#生成一個可以修改的當前圖形參數列表
opar <- par(no.readonly=TRUE)
#將默認的線條類型修改為虛線(lty=2)
並將默認的點符號改為了實心三角(pch=17)。
par(lty=2, pch=17)
#同時繪製點和線的圖形
plot(dose, drugA,
type="b")#還原原始設置
par(opar)
第二種方法是為高級繪圖函數直接提供optionname=value的鍵值對
代碼如下可以生成如上例子的圖形:
plot(dose, drugA,
type="b", lty=2, pch=17)3.3.1 符號和線條
相關參數如下:
舉個例子,代碼如下:
#繪製一幅圖形,其線條類型為點線,寬度為默認寬度的3倍,點的符號為實心正方形,大小為默認符號大小的2倍。
plot(dose, drugA,
type="b", lty=3, lwd=3, pch=15, cex=2)3.3.2 顏色
表3-3列出了一些顏色常用參數
函數colors()可以返回所有可用顏色的名稱。
創建吸引人的顏色配對,RColorBrewer特別受到歡迎。
最後,多階灰度色可使用基礎安裝所自帶的gray()函數生成,元素值為0和
1之間的向量來指定各顏色的灰度。gray(0:10/10)將生成10階灰度色。
3.3.3 文本屬性
表3-4闡釋了用於控制文本大小的參數。字體族和字樣可以通過字體選項進行控制(見表3-5)。
舉個栗子:代碼如下:
#圖形都將擁有斜體、1.5倍於默認文本大小的坐標軸標籤(名稱),以及粗斜體、2倍於默認文本大小的標題。
par(font.lab=3,
cex.lab=1.5, font.main=4, cex.main=2)3.3.4 圖形尺寸與邊界尺寸
使用表3-6列出的參數來控制圖形尺寸和邊界大小。
舉個栗子:
#生成一幅4英寸寬、3英寸高、上下邊界為1英寸、左邊界為0.5英寸、右邊界為0.2英寸的圖形
par(pin=c(4,3), mai=c(1,.5, 1, .2))
3.4 添加文本、自定義坐標軸和圖例
3.4.1 標題
可以使用title()函數為圖形添加標題和坐標軸標籤。調用格式為:
title(main="main
title", sub="subtitle",xlab="x-axis
label", ylab="y-axis label")3.4.2 坐標軸
可以使用函數axis()來創建自定義的坐標軸,而非使用R中的默認坐標軸。其格式為:
axis(side, at=, labels=, pos=, lty=, col=, las=, tck=, ...)
坐標軸選項如下圖:
次要刻度線
要創建次要刻度線,你需要使用Hmisc包中的minor.tick()函數
3.4.3 參考線
函數abline()可以用來為圖形添加參考線。其使用格式為:
abline(h=yvalues, v=xvalues)
函數abline()中也可以指定其他圖形參數(如線條類型、顏色和寬度)。
舉例來說:
1abline(h=c(1,5,7))
在y為1、5、7的位置添加了水平實線,而代碼:
abline(v=seq(1, 10, 2), lty=2,
col="blue")則在x為1、3、5、7、9的位置添加了垂直的藍色虛線。
3.4.4 圖例
我們可以使用函數legend()來添加圖例。其使用格式為:
legend(location, title, legend, ...)
常用選項詳述於表3-8中
3.4.5 文本標註
text()可向繪圖區域內部添加文本,而mtext()則向圖形的四個邊界之一添加文本。使用格式分別為:
text(location, "text
to place", pos, ...)mtext("text to place", side, line=n, ...)
常用選項列於表3-9中。
其他常用的選項有cex、col和font(分別用來調整字型大小、顏色和字體樣式)。text()函數也通常用來標示圖形中的點。
3.4.6 數學標註
要即時看效果,可以嘗試執行demo(plotmath)。
3.5 圖形的組合
在R中使用函數par()或layout()可以容易地組合多幅圖形為一幅總括圖形。
在par()函數中使用圖形參數mfrow=c(nrows, ncols)來創建按行填充的、行數為
nrows、列數為ncols的圖形矩陣。另外,可以使用mfcol=c(nrows, ncols)按列填充矩陣。
相對寬度可以直接通過數值指定,絕對寬度(以厘米為單位)可以通過函數lcm()來指定。
layout()函數能夠讓我們輕鬆地控制最終圖形中的子圖數量和擺放方式,以及
這些子圖的相對大小。
圖形布局的精細控制
可以使用圖形參數fig=將若干圖形以任意排布方式組合到單幅圖形中
本章小結:
1. 如何修改一幅圖形的坐標軸、字體、繪圖符號、線條和顏色,以及如何添加標題、副標題、標籤、文本、圖例和參考線
2. 如何指定圖形和邊界的大小,以及將多幅圖形組合為實用的單幅圖形。
3.基礎知識,多加練習!書中的案例很詳細,很明了!
參考文獻:R語言實戰(第2版)
十三西遊記(公眾號十三西遊記)
2017.08.17
推薦閱讀:
※神策2017數據驅動大會傳遞了哪些前沿認知?
※數據分析/數據挖掘/機器學習---- 必讀書目
※R Markdown與RStudio IDE深度結合
※Zynga數據分析全盛期
※使用R實現一個簡單的連續系統模擬