美文网首页R可视化和ggplot2
《R数据可视化手册》学习笔记3---条形图(1)简单条形图

《R数据可视化手册》学习笔记3---条形图(1)简单条形图

作者: RSP小白之路 | 来源:发表于2023-09-10 09:08 被阅读0次

    写在前面。

    条形图一般用来展示不同分类下(x轴)某个数值型变量的取值(y轴)。注意,条形的高度,有时是变量的频数,有时是变量的取值本身,需要注意区分。

    条形图

    我没有按照书中的章节顺序,而是根据条形高度映射数据类型图形位置图形元素进行了分类整合,使脉络更清晰,知识点更集中

    同时随着ggplot2包的更新,书中的一些用法也已经不适用了,因此会做一些更正。

    所使用的一些示例数据需要安装加载包gcookbook,同时也需要加载ggplot2

    if(!require(gcookbook) ) install.packages("gcookbook")
    library(gcookbook)
    library(ggplot2)
    

    另外,ggplot2绘图的常用基本语句需要知道:

    ggplot(data = , aes(x= , y = ) ) + geom_xxxx() + ...
    

    1. 条形高度

    如上文所说,条形的高度有时映射的是变量的取值本身,有时是变量的频数统计值。

    1.1 简单条形图

    数据中,一个变量表示在x轴的位置,另一个变量表示每个条形的高度,那么映射的也就是变量取值本身。

    我们使用数据pg_mean作为示例数据。

    > str(pg_mean)
    'data.frame':   3 obs. of  2 variables:
     $ group : Factor w/ 3 levels "ctrl","trt1",..: 1 2 3
     $ weight: num  5.03 4.66 5.53
    

    基于此,我们使用ggplot()函数和geom_bar(stat = "identity")

    ggplot(data = pg_mean, aes(x= group, y =weight)) + geom_bar(stat = "identity")
    

    [图片上传失败...(image-aacbac-1694394475903)]


    上例子,x轴映射的变量离散型变量,如果是连续型变量,会在最大最小值之间取所有可能值作为x轴映射值

    BOD数据集作为示例数据集:

    > BOD
      Time demand
    1    1    8.3
    2    2   10.3
    3    3   19.0
    4    4   16.0
    5    5   15.6
    6    7   19.8
    

    绘图如下:

    ggplot(data = BOD, aes(x= Time, y =demand)) + geom_bar(stat = "identity")
    

    [图片上传失败...(image-cd9d89-1694394475903)]


    可以使用factor函数将x取值转换为离散型数据

    ggplot(data = BOD, aes(x= factor(Time), y =demand)) + geom_bar(stat = "identity")
    

    [图片上传失败...(image-32b0ee-1694394475903)]


    可以看到,x转换前后图形是不同的。

    相关文章

      网友评论

        本文标题:《R数据可视化手册》学习笔记3---条形图(1)简单条形图

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