《R數據可視化手冊》學習筆記3---條形圖(1)簡單條形圖

寫在前面。

條形圖一般用來展示不同分類下(x軸)某個數值型變量的取值(y軸)。注意,條形的高度,有時是變量的頻數,有時是變量的取值本身,需要注意區分。

條形圖

我沒有按照書中的章節順序,而是根據條形高度映射數據類型圖形位置圖形元素進行了分類整合,使脈絡更清晰,知識點更集中

同時隨著ggplot2包的更新,書中的一些用法也已經不適用了,因此會做一些更正。

所使用的一些示例數據需要安裝加載包gcookbook,同時也需要加載ggplot2

if(!require(gcookbook) ) install.packages("gcookbook")
library(gcookbook)
library(ggplot2)

另外,ggplot2繪圖的常用基本語句需要知道:

ggplot(data = , aes(x= , y = ) ) + geom_xxxx() + ...

1. 條形高度

如上文所說,條形的高度有時映射的是變量的取值本身,有時是變量的頻數統計值。

1.1 簡單條形圖

數據中,一個變量表示在x軸的位置,另一個變量表示每個條形的高度,那么映射的也就是變量取值本身。

我們使用數據pg_mean作為示例數據。

> str(pg_mean)
'data.frame':   3 obs. of  2 variables:
 $ group : Factor w/ 3 levels "ctrl","trt1",..: 1 2 3
 $ weight: num  5.03 4.66 5.53

基于此,我們使用ggplot()函數和geom_bar(stat = "identity")

ggplot(data = pg_mean, aes(x= group, y =weight)) + geom_bar(stat = "identity")

[圖片上傳失敗...(image-aacbac-1694394475903)]


上例子,x軸映射的變量離散型變量,如果是連續型變量,會在最大最小值之間取所有可能值作為x軸映射值

BOD數據集作為示例數據集:

> BOD
  Time demand
1    1    8.3
2    2   10.3
3    3   19.0
4    4   16.0
5    5   15.6
6    7   19.8

繪圖如下:

ggplot(data = BOD, aes(x= Time, y =demand)) + geom_bar(stat = "identity")

[圖片上傳失敗...(image-cd9d89-1694394475903)]


可以使用factor函數將x取值轉換為離散型數據

ggplot(data = BOD, aes(x= factor(Time), y =demand)) + geom_bar(stat = "identity")

[圖片上傳失敗...(image-32b0ee-1694394475903)]


可以看到,x轉換前后圖形是不同的。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容