今天再介紹一個餅圖的展示,又稱為甜甜圈圖。我們今天用一個新的包:ggpie來實現(xiàn)砌庄。
我們利用自帶的diamonds數(shù)據(jù)來測試。
用ggpie函數(shù)實現(xiàn)一個基本的餅圖奕枢。
ggpie(data = diamonds, group_key = "cut", count_type = "full",
? ? ? label_info = "all",? ? # 標簽內(nèi)容:默認"count", "ratio", "all"
? ? ? label_type = "horizon", # 標簽形式:"none", "circle", "horizon"
? ? ? label_split = NULL,
? ? ? label_size = 4,
? ? ? label_pos = "in",??# 超過閾值的標簽在內(nèi)部
? ? ? label_threshold = 25)? #?設置閾值
ggdonut(data = diamonds, group_key = "cut", count_type = "full",
? ? ? ? label_info = "all",
? ? ? ? label_type = "circle",
? ? ? ? label_split = NULL,
? ? ? ? label_size = 4,
? ? ? ? label_pos = "in")
這個圖相當于將分類變量cut再制作一個甜甜圈圖娄昆,使用函數(shù)ggdonut()修飾了圖片:
也可以通過更詳細的參數(shù)來控制內(nèi)徑和外徑的大小。
ggdonut(data = diamonds, group_key = "cut",#分組變量
? ? ? ? count_type = "full",#使用全部數(shù)據(jù)
? ? ? ? label_info="all",#標簽展示數(shù)字和占比
? ? ? ? label_type="circle",#標簽的類型
? ? ? ? label_split = NULL,
? ? ? ? label_pos="in",#標簽的位置
? ? ? ? label_size=4,#標簽的大小
? ? ? ? border_color="white",#分界線顏色
? ? ? ? r0 = 1,#內(nèi)圈直徑大小
? ? ? ? r1 = 3,#外圈直徑大小
? ? ? ? label_gap = 0.1,#標簽和圈的距離
? ? ? ? donut.label.size=4 #圈圖內(nèi)標簽大小
)
當然缝彬,也可以使用到兩個分類變量萌焰,比如cut和color,制作一個內(nèi)嵌甜甜圈圖(nested donut plot)谷浅,使用函數(shù)ggnestedpie()實現(xiàn)扒俯。
ggnestedpie(data = diamonds, group_key = c("cut", "color"), count_type = "full",
? ? ? ? ? ? inner_label_info = "all",
? ? ? ? ? ? inner_label_split = NULL,
? ? ? ? ? ? inner_label_threshold = 3,# 設置內(nèi)層環(huán)形的閾值
? ? ? ? ? ? inner_label_size = 2,
? ? ? ? ? ? outer_label_type = "circle", # 設置外層環(huán)形
? ? ? ? ? ? outer_label_pos = "in",
? ? ? ? ? ? outer_label_info = "all")
還可以用ggrosepie制作玫瑰花瓣一樣的餅圖奶卓。
ggrosepie(diamonds, group_key = c("cut","color"),
? ? ? ? ? count_type = "full",
? ? ? ? ? label_info = "all",
? ? ? ? ? tick_break = c(5000, 7000, 11000,20000), # 設置坐標刻度
? ? ? ? ? donut_frac = NULL) # 中間無空心
還可以設置為中間為空心的玫瑰花瓣圖。
ggrosepie(diamonds, group_key = c("cut","color"),
? ? ? ? ? count_type = "full",
? ? ? ? ? label_info = "all",
? ? ? ? ? tick_break =? c(5000, 7000, 11000,20000), # 設置坐標刻度
? ? ? ? ? donut_frac = 0.3, # 中間的空心
? ? ? ? ? donut_label_size = 3)