Cook RR语言与统计分析R

ggballoonplot绘制气球图

2020-12-23  本文已影响0人  灵活胖子的进步之路

先看下整体用法

ggballoonplot(
  data,#数据集
  x = NULL,x轴向量
  y = NULL,y轴向量
  size = "value",#气球大小依据
  facet.by = NULL,#气球形状选择
  size.range = c(1, 10),#气球大小选择范围
  shape = 21,#气球形状
  color = "black",#气球边框颜色
  fill = "gray",#气球填充颜色
  show.label = FALSE,#是否显示每个气球代表的具体大小
  font.label = list(size = 12, color = "black"),#示每个气球代表的具体大小的字体设定
  rotate.x.text = TRUE,#是否旋转标注字体
  ggtheme = theme_minimal(),#画板主题
  ...)

以下是特殊重要形式参数的选择依据原文

对于数据集的要求
气球大小可以依据数据或者指定具体数值
气球大小范围选择,注意默认为1到10了
气球形状选择,不同代码代表不同形状
是否显示每个气球代表的具体大小

以下代码实战

my_cols <- c("#0D0887FF", "#6A00A8FF", "#B12A90FF",
             "#E16462FF", "#FCA636FF", "#F0F921FF")#定义色板
data <- read.delim(system.file("demo-data/housetasks.txt", package = "ggpubr"),row.names = 1)
data
数据集结构

首先绘制基本图形

ggballoonplot(data)
基础图形,默认是按照具体数值的大小绘制气球大小

更换颜色为固定颜色

ggballoonplot(data, 
              color = "#0073C2FF", 
              fill = "#0073C2FF")
更换颜色后的图

以下根据表格的数值填充气球的颜色

ggballoonplot(data, fill = "value")+        #根据数值填充颜色
  scale_fill_gradientn(colors = "my_cols")   #指定渐变色的色板
根据设定的渐变色及数值填充气球色

以下指定气球的形状

ggballoonplot(data, fill = "value",  shape = 23)+
  gradient_fill(c("blue", "white", "red"))
指定气球形状及设定蓝白红渐变色

以下设定气球固定颜色及大小并显示具体数值

ggballoonplot(data, 
              fill = "value", 
              color = "lightgray",#设定气球固定颜色
              size = 10, #设定气球固定大小
              show.label = TRUE)+#气球显示具体数值
gradient_fill(c("blue", "white", "red"))
设定气球固定颜色及大小并显示具体数值

数据处理中更多的应用长数据集,以下首先构建长数据集并应用此数据集画图

carnames <- c("bmw","renault","mercedes","seat")
carcolors <- c("red","white","silver","green")
datavals <- round(rnorm(16, mean=100, sd=60),1)#取16个正态分布数,留1位小数
car_data <- data.frame(Car = rep(carnames,4),
                       Color = rep(carcolors, c(4,4,4,4) ),#用each=4更简略
                       Value=datavals )

car_data
长数据集
ggballoonplot(car_data, 
              x = "Car",
              y = "Color",
              size = "Value",#大小指定数值变量列名
              fill = "Value") +#填充颜色指定数值变量列名
  scale_fill_gradientn(colors = my_cols)+
  guides(size = F) #不显示气球大小的图例
长数据集构图

以下进行分面展示

data("Titanic")
dframe <- as.data.frame(Titanic)
head(dframe)
Titanic数据集,是一个长数据集

以下分面画图

ggballoonplot(dframe,
              x = "Class", 
              y = "Sex",
              size = "Freq",
              fill = "Freq",
              facet.by = c("Survived", "Age"),#分面依据,可以设多个组成向量格式
              ggtheme = theme_bw())+
scale_fill_gradientn(colors = my_cols)
分面绘图结果
上一篇下一篇

猜你喜欢

热点阅读