函数作用
绘制图形矩阵,其中每个单元格包含一个点,其大小反映相应组件的相对大小。用于可视化由两个分类变量组成的列联表。
函数参数
示例
data <- read.delim(system.file("demo-data/housetasks.txt", package = "ggpubr"),row.names = 1)
data
# Wife Alternating Husband Jointly
# Laundry 156 14 2 4
# Main_meal 124 20 5 4
# Dinner 77 11 7 13
# Breakfeast 82 36 15 7
# Tidying 53 11 1 57
# Dishes 32 24 4 53
ggballoonplot(data)
调整点的边框颜色和填充颜色
ggballoonplot(data, color = "red", fill = "#0073C2FF")
也可以和ggplot2一样,将颜色和填充参数映射为变量
my_cols <- c("#0D0887FF", "#6A00A8FF", "#B12A90FF",
"#E16462FF", "#FCA636FF", "#F0F921FF")
ggballoonplot(data, fill = "value")+
scale_fill_gradientn(colors = my_cols)
填充文字 show.label = T(默认FALSE)
my_cols <- c("#0D0887FF", "#6A00A8FF", "#B12A90FF",
"#E16462FF", "#FCA636FF", "#F0F921FF")
ggballoonplot(data, fill = "value", show.label = T, rotate.x.text = T)+
scale_fill_gradientn(colors = my_cols)
修改点的性状 shape(默认shape=21,可选值22, 23, 24, 25)
my_cols <- c("#0D0887FF", "#6A00A8FF", "#B12A90FF",
"#E16462FF", "#FCA636FF", "#F0F921FF")
plist <- lapply(c(21,22,23,24,25), FUN = function(x){
ggballoonplot(data, fill = "value", show.label = T, rotate.x.text = T, shape = x)+
scale_fill_gradientn(colors = my_cols) + ggplot2::labs(title = paste0("shape = ",x))})
patchwork::wrap_plots(plist, ncol = 5)
分面 facet.by
data("Titanic")
dframe <- as.data.frame(Titanic)
head(dframe)
# Class Sex Age Survived Freq
# 1 1st Male Child No 0
# 2 2nd Male Child No 0
# 3 3rd Male Child No 35
# 4 Crew Male Child No 0
# 5 1st Female Child No 0
# 6 2nd Female Child No 0
ggballoonplot(
dframe, x = "Class", y = "Sex", size = "Freq", fill = "Freq",
facet.by = c("Survived", "Age"),
ggtheme = theme_bw())+
scale_fill_gradientn(colors = my_cols)
也可以通过管道连接facet()函数进行分面
ggballoonplot(
dframe, x = "Class", y = "Sex", size = "Freq", fill = "Freq",
ggtheme = theme_bw()) %>%
facet(c('Survived','Age')) +
scale_fill_gradientn(colors = my_cols)
如果想要进一步美化该图,后续可以通过结合ggplot2语法进行美化。