R繪圖概述
R語言提供了非常豐富的繪圖功能,可通過R自身提供的演示示例先初步瞭解一下。通過下面兩個函數,可以分別展示二維、三維圖形的示例。
demo(graphics)
demo(persp)
展示效果如下:
繪圖命令
圖形工具是R環境的一個重要組成部分,R提供的多種繪圖命令,可分爲三類:
- 高級繪圖命令:在圖形設備上產生一個新的圖區,可能包括座標軸、標籤、標題等;
- 低級繪圖命令:在一個已經存在的圖形上加上更多的圖形元素,如額外的點、線和標籤;
- 交互式圖形命令:允許交互式地使用鼠標在一個已經存在的圖形上添加圖形信息或提取圖形信息。
繪圖步驟
- 獲取原始數據,準備繪圖需要的變量
- 對繪圖區域進行設置、分割
- 繪製圖像,如創建座標軸並繪製點圖、曲線等
- 標註圖形,如添加標題、、座標軸標註、文字標註等
- 設置圖像格式,添加圖例
- 保存和導出圖形
繪圖區域分割
函數par()
dat=read.table("C:/Users/SAMSUNG/Desktop/R數據分析/data/online shopping.txt",header=T)
attach(dat)
x=rnorm(1000)
x=x(x<0)
y=data.frame(x1=1:5, x2=rnorm(5,0,1), x3=rgamma(5,2,3))
#分割爲四個部分
par(mfrow=c(2,2))
#繪圖命令
plot(period,amount)
hist(x,xlim=range(x),main="hist of x",freq=F,nclass=30,density=20,angle=45)
matplot(y,type="l",col=1:3)
plot(period,amount,pch=22,col="red",bg="yellow",cex=1.5)
title("online shopping",font.main=3,adj=1)
運行結果如下:
使用par分割的區域比較規則,可與mfg配合更加靈活地分割,或者換用layout函數。
函數layout()
layout內部的參數是一個矩陣(matrix),其通過定義矩陣來靈活地將圖形區域進行分割,matrix默認按列輸入。
layout(mat, #矩陣
widths=rep.int(1,ncol(mat)), #設置窗口不同列的寬度
heights=rep.int(1,nrow(mat)), #設置窗口不同行的高度
respect=FALSE
)
函數split.screen()
split.screen()同樣由向量或矩陣靈活控制區域的分割方式
split.screen(c(2,1)) #將圖形分成上下兩部分
split.screen(c(1,2),screen=2) #把下半部分又分成兩個區域
screen(1) #在第一個區域繪圖
hist(x,xlim=range(x),main="hist of x",freq=F,nclass=30,density=20,angle=45)
screen(3) #在下半區的第一個區域繪圖
matplot(y,type="l",col=1:3)
screen(4) #在下半區的第二個區域繪圖
plot(period,amount,pch=22,col="red",bg="yellow",cex=1.5)
運行結果如下:
其它
erase.screen()——清除圖形
close.screen(all=TRUE)——退出分割畫面的模式