美文网首页ggplot
ggplot_Bar的总结

ggplot_Bar的总结

作者: ADO_AI | 来源:发表于2020-12-15 17:23 被阅读0次

    原本在本地写了Rmarkdown格式的笔记,想要上传到简书,但发现不支持;转战kaggle,将.Rmd文件上传后,呈现出来的效果跟本地的效果相去甚远。私以为,如果想要将自己的思考以及代码运行结果同时展示,还是直接在kaggle上面写在线笔记为佳,这是我在kaggle上写的笔记https://www.kaggle.com/xiujudu/ggplot-bar/edit。如果只是本地运行,并且生成html文件进行查看,倒也可。

    这是关于ggplot中不同维度数据绘图的一个简单总结,以Bar这类图为主

    library(tidyverse)
    library(plyr)
    data(mpg)
    

    针对一维分类变量,其实geom_histogram和geom_bar也能够通用无外乎也是对一维变量进行计数(count),只不过图形的样子有所不同

    ggplot(mpg,aes(x=cyl))+geom_bar()
    ggplot(mpg,aes(x=cyl))+geom_histogram()
    

    针对二维变量,有几种组合情况:

    1.均是连续变量 2.一分类,一连续(通常x分类,y连续) 3.均是分类变量

    • 接下来首先讨论情况1
      • 均是连续变量的情况,我们往往用散点图进行刻画
    ggplot(mpg,aes(x = displ,y=cty))+geom_point()
    
    • 虽然设定stat ='identity',能够画出geom_bar图,但是画出来的图有些难以理解
    ggplot(mpg,aes(x = displ,y=cty))+geom_bar(stat = 'identity')
    
    • 当然,如果我将其中一个连续变量进行封箱处理,实际是利用区间将该连续变量分成了几类,那么呈现方式可参考情况2中boxplot的使用
    • 情况2
      • 其实这个时候我仍然可以用geom_point来进行刻画,只不过这种图难以刻画出连续变量y的分布信息,那么自然地就转为geom_boxplot
    ggplot(mpg,aes(x = manufacturer,y=cty))+geom_point()
    
    • geom_boxplot就专为在不同x分类情况下连续变量y的四分位数分布而生
    ggplot(mpg,aes(x = manufacturer,y=cty))+geom_boxplot()
    
    • 小提琴图本质上是一种boxplot,它适用的数据情况和图形所反应的,内容跟boxplot是一样的;区别在于它还能够提供连续变量y的核密度估计
    ggplot(mpg,aes(x = manufacturer,y=cty))+geom_violin()
    
    • 两者都是连续变量,对其中一个连续变量进行封箱处理后用boxplot呈现
    qplot(displ,cty,data = mpg,geom='boxplot',group = round_any(displ,0.5,floor))
    
    • 情况3:这种情况下,往往都是只刻画一维分类变量,另外一个分类变量作为其他图形属性(如颜色、形状,以及条形图的特定属性fill)
    ggplot(mpg,aes(x=manufacturer))+geom_bar(aes(fill=drv))
    
    • 默认的位置参数position = stack,可以调整为fill,dodge
    ggplot(mpg,aes(x=manufacturer))+geom_bar(aes(fill=drv),position = 'fill')
      ggplot(mpg,aes(x=manufacturer))+geom_bar(aes(fill=drv),position = 'dodge')
    

    相关文章

      网友评论

        本文标题:ggplot_Bar的总结

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