R语言绘图(ggplot2、ggpubr)从入门到精通02--柱状图和直方图

本系列课程要求大家有一定的R语言基础,对于完全零基础的同学,建议去听一下师兄的《生信必备技巧之——R语言基础教程》。本课程将从最基本的绘图开始讲解,深入浅出的带大家理解和运用强大而灵活的ggplot2包。内容包括如何利用ggplot2绘制散点图、线图、柱状图、添加注解、修改坐标轴和图例等。

本次课程所用的配套书籍是:《R Graphic Cookbooks》

除了以上的基本图形外,师兄还会给大家讲解箱线图、提琴图、热图、火山图、气泡图、桑基图、PCA图等各种常用的生信图形的绘制,还不赶紧加入收藏夹,跟着师兄慢慢学起来吧!

第一章:快速探索数据

  1. 柱状图:

    • 基础的可以用barplot来画:

      barplot(BOD$demand,names.arg = BOD$Time)
      
      # 有时“条形图”指的是一个图表,其中的条形图代表了每个类别的案例数。
      # 这类似于直方图,但是x轴是离散的,而不是连续的。这个时候就要用table函数生成每个类别的计数;
      barplot(table(mtcars$cyl))
      
      条形01.png

      条形02.png
    • 使用qplot

      # 使用qplot()
      qplot(mtcars$cyl)
      qplot(factor(mtcars$cyl))
      
条形03.png
  • 大家能否想想ggplot该怎么画同样的图呢?

    # stat="bin"(默认):柱高为各个分类数目;stat="identity"柱高分类所占比例。
    ggplot(BOD,aes(factor(Time),demand)) + geom_bar(stat = "identity")
    
    ggplot(mtcars,aes(factor(cyl))) + geom_bar()
    
条形05.png
条形06.png
条形07.png
  1. 直方图:

    直方图是数值数据分布的精确图形表示。 这是一个连续变量的概率分布的估计,并且被卡尔·皮尔逊(Karl Pearson)首先引入。

    它是一种条形图。 为了构建直方图,第一步是将值的范围分段,即将整个值的范围分成一系列间隔,然后计算每个间隔中有多少值。 这些值通常被指定为连续的,不重叠的变量间隔。 间隔必须相邻,并且通常是(但不是必须的)相等的大小。

    • 基础方法:hist函数:
      hist(mtcars$mpg)
      
      hist(mtcars$mpg,breaks = 10)  # breaks参数指定组数;
    
直方图01.png
  • 使用qplot
  #qplot()
  qplot(mpg,data = mtcars, binwidth = 4) # binwidth参数指定组距;
直方图02.png
  • 使用ggplot2
    #等价于
    ggplot(data = mtcars,aes(x = mpg)) + geom_histogram(binwidth = 2)
直方图03.png

往期链接

  • R语言绘图(ggplot2、ggpurb)从入门到精通01--课程介绍

创作不易:各位的点赞和转发是小编继续坚持的动力哦!咱们下期再见

你可能感兴趣的:(R语言绘图(ggplot2、ggpubr)从入门到精通02--柱状图和直方图)