上一篇介紹了多種常用的統計圖表,認識這些統計圖表後,接著要介紹如何使用R語言來做出那些圖表,讓我們往下看吧!
就從前面提到的圓餅圖
、直方圖
、長條圖
、折線圖
、散佈圖
、盒鬚圖
,依序來介紹如何使用ggplot2
套件來製作這些圖表
圓餅圖
:# 載入套件
library(ggplot2)
# 資料
day17_1 <- data.frame(
group = c("Boy", "Girl"),
value = c(15, 25)
)
day17_1
group value
1 Boy 15
2 Girl 25
# 制定堆疊的長條圖
barplot<- ggplot(day17_1, aes(x="", y=value, fill=group))+
geom_bar(width = 1, stat = "identity")
# 將圖形轉為極座標
pie <- barplot + coord_polar("y", start=0)
# 主題設置
blank_theme <- theme_minimal()+
theme(
axis.title.x = element_blank(),
axis.title.y = element_blank(),
panel.border = element_blank(),
panel.grid=element_blank(),
axis.ticks = element_blank(),
plot.title=element_text(size=14, face="bold")
)
pie + scale_fill_manual(values=c("#8ECDDD", "#FFCC70")) + blank_theme +
theme(axis.text.x=element_blank())
圓餅圖
結果示意:
直方圖
:
統計各種運動(籃球、游泳、羽球),男生、女生喜歡的人數
# 資料
day17_2 <- data.frame(
type = c("籃球", "游泳", "羽球", "籃球", "游泳", "羽球"),
group = c("Boy", "Boy", "Boy", "Girl", "Girl", "Girl"),
value = c(10, 3, 2, 5, 12, 8)
)
day17_2
type group value
1 籃球 Boy 10
2 游泳 Boy 3
3 羽球 Boy 2
4 籃球 Girl 5
5 游泳 Girl 12
6 羽球 Girl 8
p <- ggplot(data = day17_2, aes(x = type, y = value, fill = group)) +
geom_bar(stat = "identity", position = position_dodge())
# 讓y軸顯示的切點為整數
p + scale_fill_manual(values=c("#8ECDDD", "#FFCC70"))+
scale_y_continuous(breaks= pretty_breaks())+
labs(x= "運動項目",y= "人數")
直方圖
結果示意:
長條圖
:
班上的考試成績分布
# 資料(從60,68,...90中重複抽出40個數,來當學生的成績)
day17_3 <- data.frame(value=sample(seq(60,90,2),40, replace = TRUE))
day17_3
value
1 74
2 60
3 90
4 84
5 78
6 86
7 62
.
.
.
ggplot(day17_3, aes(x=value))+
geom_histogram(fill="aquamarine4", binwidth=4,color="grey", alpha=0.9)+
scale_y_continuous(breaks= pretty_breaks())+
labs(x= "考試分數",y= "人數")
長條圖
結果示意: