zoukankan      html  css  js  c++  java
  • R语言与医学统计图形-【12】ggplot2几何对象之条图

    ggplot2绘图系统——几何对象之条图(包括误差条图)

    1.条图

    格式:

    geom_bar(mapping = ,
             data = ,
             stat = 'count', #统计变换默认计数
             position = 'stack', #默认堆栈
             width = , #条形宽度
             binwidth = ,
             na.rm = FALSE,
             show.legend = ,
             inherit.aes = TRUE)
    

    positon:

    • dodge并排
    • fill堆叠填充标准化为1
    • stack堆栈
    • identity不做调整
    • jitter点扰动

    前四种排列方式分别如下图:
    image.png

    条形含义。

    #默认对class分类变量计数
    ggplot(mpg,aes(class))+geom_bar()
    
    #展示另一个变量的计数
    ggplot(mpg,aes(class))+geom_bar(aes(weight=displ))+
      ylab("count on displ")
    

    image.png

    自定义条图颜色。

    p <- ggplot(dsmall,aes(x=color,fill=cut))
    p+geom_bar(position = 'dodge')+scale_fill_brewer(type = 'qual')
    

    image.png
    scale_fill_brewer标度函数:

    sale_fill_brewer(...,
    type='seq',
    palette=1, #色系
    direction=1) #取色方向
    

    type的三种类型与RColorRrewer包中调色板函数一致:seq连续型、div极端型、qual离散型。

    scale_fill_brewerscale_fill_gradient的区别是前者通常针对离散型数据,后者针对连续型数据。

    2.误差条图

    有专门的几何对象,而非通过参数。

    geom_crossbar #绘制盒形
    
    geom_errorbar #绘制误差条图
    
    geom_linerange #绘制一条线段
    
    geom_pointrange #绘制点线段
    
    geom_errorbarh #水平误差条图 horizontal
    

    geom_errorbar示例(与geom_bar搭配)。

    dff <- data.frame(mean_value=c(18,20,23,16,24,15),
                      group=factor(LETTERS[1:6]),
                      sd_value=c(1.4,1.7,2.1,1.2,1.9,1))
    #error_bar上限下限
    dff$lower <- with(dff,mean_value - 1.5*sd_value)
    dff$upper <- with(dff,mean_value + 1.5*sd_value)
    
    p <- ggplot(dff,aes(group,mean_value))+
      geom_bar(position = 'dodge',fill='sky blue',
               stat = 'identity')
    
    p+geom_errorbar(aes(ymin=lower,ymax=upper),
                    position = 'dodge',width=0.2,
                    color='red')
    

    image.png

    geom_pointrange示例。

    pp <- ggplot(dff,aes(group,mean_value))
    pp+geom_pointrange(aes(ymin=lower,ymax=upper),
                       color='red',size=1.5,
                       fatten = 4) #点的大小
    

    image.png

    geom_errorbarh示例。

    gp <- ggplot(dff,aes(x=mean_value,y=group))
    #注意x和y互换了
    gp+geom_errorbarh(aes(xmin=lower,xmax=upper),
                      height=0.2,color='blue')+
      #height定义errorbar两端高度
      geom_point(color='black',size=2.5)
    

    image.png

  • 相关阅读:
    python安装依赖包方法
    python 连接mysql数据库
    python学习5 爬虫老是被封如何解决
    python4
    python mysql增删改查
    jieba.analyse jieba.textrank 简单用法
    记录一些小问题
    《面向模式的软件体系架构》读书笔记(三)
    《面向模式的软件体系架构》读书笔记(二)
    安全性战术
  • 原文地址:https://www.cnblogs.com/jessepeng/p/12307702.html
Copyright © 2011-2022 走看看