天天看點

r語言barplot函數圖中加标簽_R語言barplot繪圖函數

barplot 函數用于繪制柱狀圖,下面對其常用的參數進行一個詳細的解釋:

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

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

代碼示例:

barplot(height = 1:10)

效果圖如下:

r語言barplot函數圖中加标簽_R語言barplot繪圖函數

從圖中可以看出,共有10個柱子,柱子的高度為1到10,和height 參數的向量保持一緻;

第二種:矩陣,matrix, 此時用于畫堆積柱狀圖

代碼示例:

data

barplot(data)

效果圖如下:

r語言barplot函數圖中加标簽_R語言barplot繪圖函數

從圖中可以看出,輸入的矩陣data一共有a和b兩列,是以圖中隻有兩個柱子,矩陣有4行,是以在每個柱子又由4個小的柱子堆積起來,是以矩陣常用來繪制堆積柱狀圖

需要注意的是,當輸入參數為矩陣時,預設是堆積柱狀圖,這種預設行為其實是通過 beside 參數進行控制,beside 預設值為 FALSE, 當為TRUE 時,我們看下效果:

代碼示例:

data

barplot(data, beside = T)

效果圖如下:

r語言barplot函數圖中加标簽_R語言barplot繪圖函數

從圖中可以看到,當設定besdie = TRUE 時,原本堆積在一起的柱子現在變成并列的了;

2)width: 寬度,控制每個柱子的寬度,預設值為1,值得注意的是,這個參數的值是可以循環使用的,當我們隻設定一個值時,會自動循環,生成長度和柱子數目相同的向量,效果就是所有柱子的寬度是一樣的,其實也可以指定多個值,使每個柱子的長度不一樣

代碼示例:

barplot(1:5, width = 5:1)

效果圖如下:

r語言barplot函數圖中加标簽_R語言barplot繪圖函數

3)space:間隔,指定每個柱子左邊的空白區域的寬度,這個值為一個百分比,預設值為0.2, 實際的間隔 = 0.2 * 1(所有柱子的平均寬度) = 0.2; 這個參數的值和width 參數類似,可以隻設定一個值,也可以指定不同的柱子間隔不同;

代碼示例:

barplot(1:3, space = c(0.1, 0.2, 0.3))

效果圖如下:

r語言barplot函數圖中加标簽_R語言barplot繪圖函數

4)names.arg : 每個柱子下面的标記,當height 為 vector 時,預設的标記為向量的names 屬性, 當height 為 matrix 是,預設為 matrix 的colnames 屬性

代碼示例:

par(mfrow = c(1, 2))

height

names(height)

barplot(height)

data

barplot(data)

效果圖如下:

r語言barplot函數圖中加标簽_R語言barplot繪圖函數

上面的預設用法,names.arg 參數的主要用途是當輸入的height 缺少對應的屬性時,自己手工指派,或者對已有的屬性不滿意,重新指派

代碼示例:

par(mfrow = c(1, 2))

height

names(height)

barplot(height, names.arg = c("A1", "A2", "A3"))

data

barplot(data, names.arg = c("D", "E"))

效果圖如下:

r語言barplot函數圖中加标簽_R語言barplot繪圖函數

5) legned.text : 圖例的文字說明, 隻有當height參數的值是matrix 時,才起作用,預設顯示的是matrix的rownames 屬性,其值有兩種指定形式,

第一種:邏輯值,是否需要顯示圖例,預設為FALSE

代碼示例:

data

rownames(data)

barplot(data, legend.text = TRUE)

效果圖如下:

r語言barplot函數圖中加标簽_R語言barplot繪圖函數

第二種, 指定圖例中的文字内容,相當于修改了matrix的 rownames 屬性

代碼示例:

data

rownames(data)

barplot(data, legend.text = c("E", "F", "G", "H"))

效果圖如下:

r語言barplot函數圖中加标簽_R語言barplot繪圖函數

從上面兩張圖可以看出來,雖然可以通過這種方式顯示圖例,但是圖裡的位置都是固定在了右上角,會出現和柱子重疊的情況,最佳的顯示辦法還是單獨調用legend 函數,添加圖例;

6)beside: 之前提到過的,控制group bar的排列方式, 預設FALSE, 堆積排列,TRUE 代表水準排列

代碼示例:

par(mfrow = c(1, 2))

data

barplot(data, main = "beside = F")

barplot(data, beside = T, main = "beside = T")

效果圖如下:

r語言barplot函數圖中加标簽_R語言barplot繪圖函數

7) horiz : 邏輯值,預設FALSE , 當值為TRUE 時,将x軸和y軸轉置;

代碼示例:

par(mfrow = c(1, 2))

barplot(1:4, main = "horiz = F")

barplot(1:4, main = "horiz = T", horiz =T)

效果圖如下:

r語言barplot函數圖中加标簽_R語言barplot繪圖函數

8)col : 柱子的填充色,預設為灰色

代碼示例:

barplot(1:4, col = "green")

效果圖如下:

r語言barplot函數圖中加标簽_R語言barplot繪圖函數

除了設定col參數的值為一個外,還支援不同的柱子設定不同的顔色

代碼示例:

barplot(1:4, col = rainbow(4))

效果圖如下:

r語言barplot函數圖中加标簽_R語言barplot繪圖函數

9) border : 柱子邊框的顔色, 預設為 black, 當border = NA時,表示沒有邊框

代碼示例:

barplot(1:4, col = rainbow(4), border = NA, main = "border = NA")

效果圖如下:

r語言barplot函數圖中加标簽_R語言barplot繪圖函數

10)density 和 angle : 設定柱子用線條填充,density 控制線條的密度, angel 控制線條的角度

代碼示例:density 控制線條的密度

par(mfrow = c(1, 3))

barplot(rep(1,4), density = 1, main = "density = 1")

barplot(rep(1,4), density = 2, main = "density = 2")

barplot(rep(1,4), density = 3, main = "density = 3")

效果圖如下:

r語言barplot函數圖中加标簽_R語言barplot繪圖函數

代碼示例:angle 控制線條的角度, 必須和density 參數搭配使用才能發揮作用

par(mfrow = c(1, 3))

barplot(rep(1,4), density = 2, angle = 45, main = "angle = 45")

barplot(rep(1,4), density = 2, angle = 90, main = "angle = 90")

barplot(rep(1,4), density = 2, angle = 180, main = "angle = 180")

效果圖如下:

r語言barplot函數圖中加标簽_R語言barplot繪圖函數

11)axes :邏輯值,控制是否顯示軸線

代碼示例:

par(mfrow = c(1, 2))

data

barplot(data, axes = F, main = "axes = F")

barplot(data, axes = T, main = "axes = T")

效果圖如下:

r語言barplot函數圖中加标簽_R語言barplot繪圖函數

12)axisnames : 控制是否顯示柱子的标簽

代碼示例:

par(mfrow = c(1, 2))

data

barplot(data, axisnames = F, main = "axisnames = F")

barplot(data, axisnames = T, main = "axisnames = T")

效果圖如下:

r語言barplot函數圖中加标簽_R語言barplot繪圖函數

13)offset : 設定柱子的起始位置在y軸上的位置, 預設值為0

代碼示例:

par(mfrow = c(1, 3))

data

barplot(data, offset = 0, main = "offset = 0")

barplot(data, offset = 1, main = "offset = 1")

barplot(data, offset = 2, main = "offset = 2")

效果圖如下:

r語言barplot函數圖中加标簽_R語言barplot繪圖函數