使用ggplot2畫大餅圖 (Pie Chart using ggplot2)
套路55: 使用ggplot2畫大餅圖 (Pie Chart
using ggplot2)
1. 使用時機: 拿到數據時,對不同項目數據的比例進行分析了解。
2. 分析類型: 敘述性統計,資料視覺化,R繪圖。
3. 資料:
df <- data.frame(
group =
c("Baby", "Child", "Young", "Teenager",
"Adult"),
value = c(21, 62, 10,
53, 77)
) # 將資料建成data frame格式
df
# 顯示df內容
attach(df) # 告知R要使用df
vt <- sum(df$value) # 計算數值總和放入vt
vt # 顯示vt內容
df$value2 <- df$value * 100 / vt # 計算每個值的百分比放入新欄位標題value2
df # 顯示df內容,多了標題value2
4. 安裝繪圖程式套件ggplot2。
library(ggplot2) # 安裝完成後叫出ggplot2備用
5. 繪圖
第一步: 先製作條狀圖 (bar chart, bar graph)
bp <- ggplot(df, aes(x = "", y = value2, fill =
group)) +
geom_bar(width = 1, stat
= "identity")
# group 是data frame的類別資料標題名稱,在建立data frame時由使用者自訂。
# value2 是data frame的數值百分比資料標題,,在新增資料時由使用者自訂。
bp
# 顯示Barplot
結果:
第二步: 接著把條狀圖轉大餅圖 (pie chart)
pie <- bp + coord_polar("y", start = 0)
pie # 顯示Pie Chart
結果:
第三步: 接著把條狀圖轉大餅圖 (pie chart)
pie2 <- pie + scale_fill_brewer(palette = "Blues")
+
geom_text(aes(label =
paste0(round(value2), "%")), position = position_stack(vjust = 0.5))
# 使用藍色系漸層
# 加上區塊百分比
pie2 # 顯示Pie Chart
結果:
pie3 <- pie + scale_fill_brewer(palette = "Reds") +
geom_text(aes(label =
paste0(round(value2), "%")), position = position_stack(vjust = 0.5))
# 使用紅色系漸層
# 加上區塊百分比
pie3 # 顯示Pie Chart
結果:
# 漸層色表(Sequential Palettes)名稱:
# Blues, BuGn, BuPu, GnBu, Greens, Greys, Oranges, OrRd, PuBu,
# PuBuGn, PuRd, Purples, RdPu, Reds, YlGn, YlGnBu, YlOrBr,
YlOrRd
pie4 <- pie + scale_fill_manual(values=c("#F6AE2D",
"#DDDDDD", "#FF88C2", "#55DDE0",
"#F26419"))
+ geom_text(aes(label = paste0(round(value2), "%")),
position = position_stack(vjust = 0.5))
# 使用者自訂顏色
# 加上區塊百分比
pie4 # 顯示Pie Chart
結果:
# 顏色代號(color codes)列表:
#
https://zh.wikipedia.org/wiki/%E9%A2%9C%E8%89%B2%E5%88%97%E8%A1%A8
來勁了嗎? 想知道更多?? 補充資料(連結): 關於R繪圖快速入門
留言
張貼留言