棒棒糖圖舀透,“望文生義”,就是長(zhǎng)得像棒棒糖的圖决左。聽起來(lái)就很可愛是不是愕够?今天就讓我們一起欣賞一下棒棒糖圖走贪。
什么是棒棒糖圖
首先讓我們來(lái)看幾張棒棒糖圖』蟀牛可以發(fā)現(xiàn)實(shí)際上就是一根柱子加上一個(gè)圓坠狡,其實(shí)類似傳統(tǒng)的柱狀圖。但是它可以給我們更多的信息遂跟,因?yàn)閳A和下面的棒子可以代表同一組數(shù)據(jù)逃沿,也可以代表兩組數(shù)據(jù)』盟“糖”和“棒子”的顏色也一樣凯亮,可以表示同一個(gè)信息也可以表示不同維度的信息。另外哄尔,我們還可以變成雙頭棒棒糖假消,在棒子的兩端分別展現(xiàn)不同的數(shù)據(jù)。不喜歡傳統(tǒng)的圓形岭接?想要親手DIY富拗?也沒(méi)有問(wèn)題,我們可以把傳統(tǒng)的圓形糖換成其他圖片(比如漫威)亿傅,以更加直觀的展示信息媒峡。我們也可以在圈中標(biāo)記具體的數(shù)值瘟栖,讓讀者一目了然葵擎。
怎么做棒棒糖圖
1)需要什么格式的數(shù)據(jù)
我們用R中自帶的一個(gè)數(shù)據(jù)——mtcars。該數(shù)據(jù)來(lái)源于1974年Motor Trend雜志半哟,是關(guān)于不同車型的設(shè)計(jì)和性能的數(shù)據(jù)統(tǒng)計(jì):
[, 1] mpg Miles/(US) gallon
[, 2] cyl Number of cylinders
[, 3] disp Displacement (cu.in.)
[, 4] hp Gross horsepower
[, 5] drat Rear axle ratio
[, 6] wt Weight (1000 lbs)
[, 7] qsec 1/4 mile time
[, 8] vs Engine (0 = V-shaped, 1 = straight)
[, 9] am Transmission (0 = automatic, 1 = manual)
[,10] gear Number of forward gears
[,11] carb Number of carburetors
稍微對(duì)數(shù)據(jù)進(jìn)行一點(diǎn)處理:
# Load data
data("mtcars")
dfm <- mtcars
# 轉(zhuǎn)為factor類型的數(shù)據(jù)
dfm$cyl <- as.factor(dfm$cyl)
# 增加一列name
dfm$name <- rownames(dfm)
> head(dfm)
mpg cyl disp hp drat wt qsec vs am gear carb name
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 Mazda RX4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 Mazda RX4 Wag
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 Datsun 710
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 Hornet 4 Drive
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 Hornet Sportabout
Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1 Valiant
2)如何作圖
本次使用ggpubr包進(jìn)行作圖酬滤。
library(ggpubr)
ggdotchart(dfm, x = "name", y = "mpg",
color = "cyl", # 按照cyl填充顏色
palette = c("#00AFBB", "#E7B800", "#FC4E07"), # 修改顏色
sorting = "ascending",
add = "segments", # 添加棒子
ggtheme = theme_pubr(), # 改變主題
xlab=""
)
ggdotchart(dfm, x = "name", y = "mpg",
color = "cyl", # 按照cyl填充顏色
palette = c("#00AFBB", "#E7B800", "#FC4E07"), # 修改顏色
sorting = "descending",
add = "segments", # 添加棒子
add.params = list(color = "lightgray", size = 1.5),#改變棒子參數(shù)
rotate = TRUE, # 方向轉(zhuǎn)為垂直
group = "cyl",
dot.size = 6, # 改變點(diǎn)的大小
label = round(dfm$mpg), # 添加label
font.label = list(color = "white", size = 9,
vjust = 0.5), # 設(shè)置label參數(shù)
ggtheme = theme_pubr(), # 改變主題
xlab=""
)
往期 R數(shù)據(jù)可視化 分享
R數(shù)據(jù)可視化8: 金字塔圖和偏差圖
R數(shù)據(jù)可視化7: 氣泡圖 Bubble Plot
R數(shù)據(jù)可視化6: 面積圖 Area Chart
R數(shù)據(jù)可視化5: 熱圖 Heatmap
R數(shù)據(jù)可視化4: PCA和PCoA圖
R數(shù)據(jù)可視化3: 直方/條形圖
R數(shù)據(jù)可視化2: 箱形圖 Boxplot
R數(shù)據(jù)可視化1: 火山圖