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實現一個簡單的連續系統模擬

TAG:R编程语言 | 大数据 | 数据分析 |