1. 程式人生 > 其它 >R語言常用繪圖函式

R語言常用繪圖函式

條形圖

條形圖是用一個單位長度表示一定的數量,根據數量的多少畫成長短不同的直條,然後把這些直條按一定順序排列起來。

條形圖橫軸上的資料是離散的而不是連續的。

  • 引數說明

height:高度,通過該引數可以指定要畫多少個柱子以及每個柱子的高度,其值有兩種格式。

第一種:向量vector,此時會根據向量的長度來判斷有多少個柱子,向量中的每個值就是柱子的高度。

第二種:矩陣martrix,此時用於畫堆積柱狀圖。

#使用向量
barplot(height=1:5)
#使用矩陣,堆積柱狀圖
data <- cbind(a=1:4,b=1:4)
barplot(data)

beside:當輸入引數為矩陣時,預設為堆積柱狀圖,beside預設值為FALSE,當為TRUE時,則每一列都表示一個分組並列。

data <- cbind(a=1:4,b=1:4)
barplot(data,beside=TRUE)

width:寬度,控制每個柱子的寬度,預設值為1,值得注意的是,該值是可以迴圈使用的,當只設置一個值時,會自動迴圈,生成長度和柱子數目相同的向量,效果就是所有柱子的寬度一樣,也可以指定多個值,使每個柱子寬度不同。

barplot(c(1,2,3,4,5),width=5:1)

names.arg:每個柱子下的標記,當height為向量時,預設的標記為向量的names屬性,當height為matrix時,預設為colnames的屬性。

barplot(c(1,2,3,4,5),names.arg=c("A","B","C","D","E"))
data <- cbind("A" = 1:4, "B" = 1:4)
barplot(data, names.arg = c("D", "E"))

繪製條形圖練習

#繪製簡單的條形圖
math <- c(78,92,89,61,95)
barplot(math)

#新增x軸上的分類標籤
math <- c(78,92,89,61,95)
name <- c("小剛","小明","小花","小芳","小麗")
barplot(math,names.arg = name)

#指定填充色、邊框色、標題
math <- c(78,92,89,61,95)
name <- c("小剛","小明","小花","小芳","小麗")
barplot(math,names.arg = name,border="green",col=c("red","blue","orange","yellow","green"),main="成績")

#繪製堆疊條形圖
math <- c(78,92,89,61,95)
english <- c(90,89,95,70,98)
grade <- matrix(c(math,grade),2,5,byrow =TRUE)
name <- c("小剛","小明","小花","小芳","小麗")
barplot(grade,border="green",names.arg=name,main="成績",xlab="姓名",ylab="成績",legend=c("數學","英語"),beside=TRUE)

繪製餅狀圖

餅圖是將各項的大小與各項總和的比例顯示在一張餅中,以餅的大小來確定每一項的佔比。餅圖可以比較清楚的反映出部分與部分,部分與整體之間的比例關係,易於顯示每組資料相對於總數的大小,而且顯現方式直觀。

R語言中,提供繪製餅圖的函式是pie(),每一個扇形的角度與相應資料的數值大小成比例,使用正數作為向量輸入。附加引數用於控制標籤,顏色,標題等。

# 資料準備
info = c(1, 2, 4, 8)

# 命名
names = c("Google", "Runoob", "Taobao", "Weibo")

# 塗色(可選)
cols = c("#ED1C24","#22B14C","#FFC90E","#3f48CC")
# 計算百分比
piepercent = paste(round(100*info/sum(info)), "%")
# 繪圖
pie(info, labels=piepercent, main = "網站分析", col=cols, family='GB1')
# 新增顏色樣本標註
legend("topright", names, cex=0.8, fill=cols)

繪製3D餅圖,需要安裝R包plotrix

#install.packages("plotrix")
library(plotrix)
# 資料準備
info = c(1, 2, 4, 8)
lbl <- c("London","New York","Singapore","Mumbai")
pie3D(info,labels = lbl,explode = 0.1,  main = "城市3D餅圖")

  • 繪製散點圖

散點圖通常是用來表示兩個連續變數之間的關係,圖中的每個點表示目標資料集中的每個樣本。散點圖通過散點的疏密程度表示兩個特徵的數量關係。

引數說明

x 橫座標 x 軸的資料集合

y 縱座標 y 軸的資料集合

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

xlab、ylab x 軸和 y 軸的標籤名稱

xlim、ylim x 軸和 y 軸的範圍

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