ggballoonplot绘制气球图

作者: 灵活胖子的进步之路 | 来源:发表于2020-12-23 00:04 被阅读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)
    
    分面绘图结果

    相关文章

      网友评论

        本文标题:ggballoonplot绘制气球图

        本文链接:https://www.haomeiwen.com/subject/vimsnktx.html