Quick-R: Graphs (statmethods.net)
Quick-R: Scatterplots (statmethods.net)
數據分析師轉向 R 的主要原因之一是其強大的圖形功能。
在R中,圖形通常是交互式創建的。
head(mtcars) #自帶數據集 mpg cyl disp hp drat wt qsec vs am gear carb Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
# Creating a Graph attach(mtcars) plot(wt, mpg) abline(lm(mpg~wt)) title("Regression of MPG on Weight")
當然,你可以把圖片保存成你想要的格式
散點圖 Scatterplots
散點圖是將所有的數據以點的形式展現在直角坐標系上,以顯示變量之間的相互影響程度,點的位置由變量的數值決定,每個點對應一個 X 和 Y 軸點坐標。
有許多方法可以創建 R 中的散射圖。基本函數是繪圖(x, y),其中x和y是表示 (x,y) 指向繪圖的數字矢量。
散點圖可以使用 plot() 函數來繪制,help(plot)可查看更多功能,語法格式如下:
plot(x, y, type="p", main, xlab, ylab, xlim, ylim, axes)
Quick-R: Graphical Parameters (statmethods.net)
-
x 橫坐標 x 軸的數據集合
-
y 縱坐標 y 軸的數據集合
- type:繪圖的類型,p 為點、l 為直線, o 同時繪制點和線,且線穿過點。
-
main 圖表標題。
-
xlab、ylab x 軸和 y 軸的標簽名稱。
-
xlim、ylim x 軸和 y 軸的范圍。
-
axes 布爾值,是否繪制兩個 x 軸。
type 參數可選擇值:
- p:點圖
- l:線圖
- b:同時繪制點和線
- c:僅繪制參數 b 所示的線
- o:同時繪制點和線,且線穿過點
- h:繪制出點到橫坐標軸的垂直線
- s:階梯圖,先橫后縱
- S:階梯圖,先縱后豎
- n: 空圖
- col : 默認的繪圖顏色。某些函數(如lines和pie)可以接受一個含有顏色值的向量並自動循環使用。例如,如果設定col=c(red, blue)並需要繪制三條線,則第一條線將為紅色,第二條線為藍色,第三條線又將為紅色
- pch : 對應點的形狀
- lty : 線條類型
- lwd : 指定線條寬度。lwd是以默認值的相對大小來表示的(默認值為1)。例如,lwd=2將生成一條兩倍於默認寬度的線條.
- col.axis : 坐標軸刻度文字的顏色
- col.lab : 坐標軸標簽(名稱)的顏色
- col.main : 標題顏色
- col.sub : 副標題顏色
- fg : 圖形前景色
- bg : 圖形背景色
- cex : 指定符號的大小。cex是一個數值,表示繪圖符號相對於默認大小的縮放倍數。默認大小為1,1.5表示放大為默認值的1.5倍,0.5表示縮小為默認值的50%,等等
- cex.axis : 坐標軸刻度文字的縮放倍數。類似於cex
- cex.lab : 坐標軸標簽(名稱)的縮放倍數。類似於cex
- cex.main : 標題的縮放倍數。類似於cex
- cex.sub : 副標題的縮放倍數。類似於cex
- font : 整數。用於指定繪圖使用的字體樣式。1=常規,2=粗體,3=斜體,4=粗斜體,5=符號字體(以Adobe符號編碼表示)
- font.axis: 坐標軸刻度文字的字體樣式
- font.lab : 坐標軸標簽(名稱)的字體樣式
- font.main: 標題的字體樣式
- font.sub: 副標題的字體樣式
- ps : 字體磅值(1磅約為1/72英寸)。文本的最終大小為 ps*cex
- family : 繪制文本時使用的字體族。標准的取值為serif(襯線)、sans(無襯線)和mono(等寬)
- pin : 以英寸表示的圖形尺寸(寬和高)
- mai : 以數值向量表示的邊界大小,順序為“下、左、上、右”,單位為英寸
- mar : 以數值向量表示的邊界大小,順序為“下、左、上、右”,單位為英分*。默認值為c(5, 4, 4, 2) + 0.1
標題: title
坐標軸: axis
參考線: abline
圖例:legend
文本標注:(繪圖區域內部添加文字),mtext(圖形四個邊界添加文字)
繪制簡單的一個點
plot(10,10) #直接給出數據
#繪制多個點:本處3個點 x <- c(10,20,30) y <- c(30,40,50) plot(x,y)
也可以畫成一條直線
plot(x,y,'l')
點和線
plot(x,y,'o')
plot(x,y,'b')
plot(x,y,'c') # 僅繪制出參數為b時所示的直線
# 添加標題等 plot(x, y, "l",main="plot函數繪圖演示",xlab="x值",ylab="y值",col='blue')
# Simple Scatterplot attach(mtcars) plot(wt, mpg, main="Scatterplot Example", xlab="Car Weight ", ylab="Miles Per Gallon ", pch=19) # Add fit lines abline(lm(mpg~wt), col="red") # regression line (y~x) lines(lowess(wt,mpg), col="blue") # lowess line (x,y)
在 R 中,可以通過函數 lm() 進行線性回歸, lm(formula,data) 。 R – 線性回歸 | 菜鳥教程 (runoob.com)
局部加權回歸,lowess()
散點圖矩陣是借助兩變量散點圖的作圖方法,它可以看作是一個大的圖形方陣,其每一個非主對角元素的位置上是對應行的變量與對應列的變量的散點圖。
而主對角元素位置上是各變量名,這樣,借助散點圖矩陣可以清晰地看到所研究多個變量兩兩之間的相關關系。 pairs(formula, data), formula 變量系列,data 變量的數據集。
# Basic Scatterplot Matrix pairs(~mpg+disp+drat+wt,data=mtcars, main="Simple Scatterplot Matrix")