R语言之可视化(26)ggplot2绘制饼图

作者: 柳叶刀与小鼠标 | 来源:发表于2019-08-16 21:25 被阅读263次

    目录

    R语言之可视化①误差棒

    R语言之可视化②点图

    R语言之可视化③点图续

    R语言之可视化④点韦恩图upsetR

    R语言之可视化⑤R图形系统

    R语言之可视化⑥R图形系统续

    R语言之可视化⑦easyGgplot2散点图

    R语言之可视化⑧easyGgplot2散点图续

    R语言之可视化⑨火山图

    R语言之可视化⑩坐标系统

    R语言之可视化①①热图绘制heatmap

    R语言之可视化①②热图绘制2

    R语言之可视化①③散点图+拟合曲线

    R语言之可视化①④一页多图(1)

    R语言之可视化①⑤ROC曲线

    R语言之可视化①⑥一页多图(2)

    R语言之可视化①⑦调色板

    R语言之可视化①⑧子图组合patchwork包

    R语言之可视化①⑨之ggplot2中的图例修改

    R语言之可视化(20)之geom_label()和geom_text()

    R语言之可视化(21)令人眼前一亮的颜色包

    R语言之可视化(22)绘制堆积条形图

    R语言之可视化(23)高亮某一元素

    R语言之可视化(24)生成带P值得箱线图

    R语言之可视化(25)绘制相关图(ggcorr包)

    R语言之可视化(26)ggplot2绘制饼图

    本文主要使用函数coord_polar()用于生成饼图,它只是极坐标中的堆积条形图。

    原始饼图

    创建数据:

    df <- data.frame(
      group = c("Male", "Female", "Child"),
      value = c(25, 25, 50)
      )
    head(df)
    ##    group value
    ## 1   Male    25
    ## 2 Female    25
    ## 3  Child    50
    

    首先使用柱状图来做可视化

    library(ggplot2)
    # Barplot
    bp<- ggplot(df, aes(x="", y=value, fill=group))+
    geom_bar(width = 1, stat = "identity")
    bp
    

    生成一个原始饼图

    pie <- bp + coord_polar("y", start=0)
    pie
    

    更改饼图填充颜色

    可以使用以下函数手动更改饼图填充颜色

      • scale_fill_manual()*:使用自定义颜色
      • scale_fill_brewer():使用来自 RColorBrewer *包的调色板
      • scale_fill_grey()*:使用灰色调色板
    # Use custom color palettes
    pie + scale_fill_manual(values=c("#999999", "#E69F00", "#56B4E9"))
    
    # use brewer color palettes
    pie + scale_fill_brewer(palette="Dark2")
    
    pie + scale_fill_brewer(palette="Blues")+
      theme_minimal()
    
    # Use grey scale
    pie + scale_fill_grey() + theme_minimal()
    

    使用因子变量创建饼图

    head(PlantGrowth)
    
    ##   weight group
    ## 1   4.17  ctrl
    ## 2   5.58  ctrl
    ## 3   5.18  ctrl
    ## 4   6.11  ctrl
    ## 5   4.50  ctrl
    ## 6   4.61  ctrl
    

    创建每组中观察计数的饼图:

    ggplot(PlantGrowth, aes(x=factor(1), fill=group))+
      geom_bar(width = 1)+
      coord_polar("y")
    

    自定义饼图

    创建一个空白主题:

    blank_theme <- theme_minimal()+
      theme(
      axis.title.x = element_blank(),
      axis.title.y = element_blank(),
      panel.border = element_blank(),
      panel.grid=element_blank(),
      axis.ticks = element_blank(),
      plot.title=element_text(size=14, face="bold")
      )
    

    1.应用空白主题
    2.删除轴刻度标记
    3.添加文本注释

    # Apply blank theme
    library(scales)
    pie + scale_fill_grey() +  blank_theme +
      theme(axis.text.x=element_blank()) +
      geom_text(aes(y = value/3 + c(0, cumsum(value)[-length(value)]), 
                label = percent(value/100)), size=5)
    
    # Use brewer palette
    pie + scale_fill_brewer("Blues") + blank_theme +
      theme(axis.text.x=element_blank())+
      geom_text(aes(y = value/3 + c(0, cumsum(value)[-length(value)]), 
                    label = percent(value/100)), size=5)
    

    相关文章

      网友评论

        本文标题:R语言之可视化(26)ggplot2绘制饼图

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