1. 程式人生 > 其它 >R繪圖-散點圖

R繪圖-散點圖

散點圖是將所有的資料以點的形式展現在直角座標系上,以顯示變數之間的相互影響程度,點的位置由變數的數值決定,每個點對應一個 X 和 Y 軸點座標。

散點圖可以使用 plot() 函式來繪製,語法格式如下:

plot(x, y, type="p", main, xlab, ylab, xlim, ylim, axes)
  • x橫座標 x 軸的資料集合

  • y縱座標 y 軸的資料集合

  • type:繪圖的型別,p 為點、l 為直線, o 同時繪製點和線,且線穿過點。
  • main圖表標題。

  • xlab、ylabx 軸和 y 軸的標籤名稱。

  • xlim、ylimx 軸和 y 軸的範圍。

  • axes布林值,是否繪製兩個 x 軸。

type 引數可選擇值:

  • p:點圖
  • l:線圖
  • b:同時繪製點和線
  • c:僅繪製引數 b 所示的線
  • o:同時繪製點和線,且線穿過點
  • h:繪製出點到橫座標軸的垂直線
  • s:階梯圖,先橫後縱
  • S:階梯圖,先縱後豎
  • n: 空圖

建立一個簡單的線圖:

例項

x<-c(10,40)
y<-c(20,60)
# 生成 png 圖片
png(file="runnob-test-plot2.png")

plot(x, y,"l")

建立一個簡單的線圖,type 使用 o 引數,同時繪製點和線,且線穿過點:

例項

x<-c(10,40)
y<-c(20,60)
# 生成 png 圖片
png(file="runnob-test-plot.png")

plot(x, y,"o")

接下來我們使用 R 語言的內建資料集 mtcars 來進行測試。

我們使用 mtcars 資料集的 wt 和 mpg 列:

例項

input<-mtcars[,c('wt','mpg')]
print(head(input))

輸出結果為:

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

接著我們使用以上資料生存一個散點圖

例項

# 資料
input<-mtcars[,c('wt','mpg')]

# 生成 png 圖片
png(file="scatterplot.png")

# 設定座標 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"
)

散點圖矩陣

散點圖矩陣是藉助兩變數散點圖的作圖方法,它可以看作是一個大的圖形方陣,其每一個非主對角元素的位置上是對應行的變數與對應列的變數的散點圖。而主對角元素位置上是各變數名,這樣,藉助散點圖矩陣可以清晰地看到所研究多個變數兩兩之間的相關關係。

散點圖矩陣就是把資料集中的每個數值變數兩兩繪製散點圖。

R 語言使用以下函式建立散點圖矩陣:

pairs(formula, data)

引數:

  • formula變數系列

  • data變數的資料集

例項

# 輸出圖片
png(file="scatterplot_matrices.png")

# 4 個變數繪製矩陣,12 個圖

pairs(~wt+mpg+disp+cyl,data=mtcars, main="Scatterplot Matrix")