散點圖是將所有的數(shù)據(jù)以點的形式展現(xiàn)在直角坐標(biāo)系上,以顯示變量之間的相互影響程度,點的位置由變量的數(shù)值決定,每個點對應(yīng)一個 X 和 Y 軸點坐標(biāo)。
散點圖可以使用 plot() 函數(shù)來繪制,語法格式如下:
plot(x, y, type="p", main, xlab, ylab, xlim, ylim, axes)
x 橫坐標(biāo) x 軸的數(shù)據(jù)集合
y 縱坐標(biāo) y 軸的數(shù)據(jù)集合
type:繪圖的類型,p 為點、l 為直線, o 同時繪制點和線,且線穿過點。
main 圖表標(biāo)題。
xlab、ylab x 軸和 y 軸的標(biāo)簽名稱。
xlim、ylim x 軸和 y 軸的范圍。
axes 布爾值,是否繪制兩個 x 軸。
type 參數(shù)可選擇值:
p:點圖
l:線圖
b:同時繪制點和線
c:僅繪制參數(shù) b 所示的線
o:同時繪制點和線,且線穿過點
h:繪制出點到橫坐標(biāo)軸的垂直線
s:階梯圖,先橫后縱
S:階梯圖,先縱后豎
n: 空圖
創(chuàng)建一個簡單的線圖:
x<-c(10,40) y<-c(20,60) # 生成 png 圖片 png(file = "runnob-test-plot2.png") plot(x, y, "l")
創(chuàng)建一個簡單的線圖,type 使用 o 參數(shù),同時繪制點和線,且線穿過點:
x<-c(10,40) y<-c(20,60) # 生成 png 圖片 png(file = "runnob-test-plot.png") plot(x, y, "o")
接下來我們使用 R 語言的內(nèi)置數(shù)據(jù)集 mtcars 來進(jìn)行測試。
我們使用 mtcars 數(shù)據(jù)集的 wt 和 mpg 列:
input <- mtcars[,c('wt','mpg')] print(head(input))
輸出結(jié)果為:
wt mpg Mazda RX4 2.620 21.0 Mazda RX4 Wag 2.875 21.0 Datsun 710 2.320 22.8 Hornet 4 Drive 3.215 21.4 Hornet Sportabout 3.440 18.7 Valiant 3.460 18.1
接著我們使用以上數(shù)據(jù)生存一個散點圖
:
# 數(shù)據(jù) input <- mtcars[,c('wt','mpg')] # 生成 png 圖片 png(file = "scatterplot.png") # 設(shè)置坐標(biāo) x 軸范圍 2.5 到 5, y 軸范圍 15 到 30. plot(x = input$wt,y = input$mpg, xlab = "Weight", ylab = "Milage", xlim = c(2.5,5), ylim = c(15,30), main = "Weight vs Milage" )
散點圖矩陣是借助兩變量散點圖的作圖方法,它可以看作是一個大的圖形方陣,其每一個非主對角元素的位置上是對應(yīng)行的變量與對應(yīng)列的變量的散點圖。而主對角元素位置上是各變量名,這樣,借助散點圖矩陣可以清晰地看到所研究多個變量兩兩之間的相關(guān)關(guān)系。
散點圖矩陣就是把數(shù)據(jù)集中的每個數(shù)值變量兩兩繪制散點圖。
R 語言使用以下函數(shù)創(chuàng)建散點圖矩陣:
pairs(formula, data)
參數(shù):
formula 變量系列
data 變量的數(shù)據(jù)集
# 輸出圖片 png(file = "scatterplot_matrices.png") # 4 個變量繪制矩陣,12 個圖 pairs(~wt+mpg+disp+cyl,data = mtcars, main = "Scatterplot Matrix")