ggplot2画图

作者: dandanwu90 | 来源:发表于2019-08-21 19:23 被阅读0次

    tip: Rstudio页面从四个不小心换为2个,按control+shift+3可恢复。

    install.packages("ggplot2")
    library("ggplot2")
    

    1.5 分面 facet_wrap(), facet_grid()

    ggplot(data = mpg) +
           geom_point(mapping = aes(x = displ, y = hwy)) +
           facet_wrap(~ class, nrow = 2)
    

    通过变量对图进行分面,加入函数 facet_grid()。这个函数的 第一个参数也是一个公式,但该公式包含由 ~ 隔开的两个变量名。

     ggplot(data = mpg) +
           geom_point(mapping = aes(x = displ, y = hwy)) +
           facet_grid(drv ~ cyl)
    

    1.6 几何对象 geom_smmoth(),geom_point(),linetype,group,fill,se,color

    ggplot(data = mpg) +
            geom_smooth(mapping = aes(x = displ, y = hwy, linetype = drv))+
            geom_point()
    

    1.6 题 画以下图


    image.png
    #1,数据,散点图,平滑曲线,se=F指置信区间不显示
    ggplot(mpg, aes(displ, hwy)) +
      geom_point() +
      geom_smooth(se=F)
    #2,group表示以drv为分组
    ggplot(mpg, aes(x = displ, y = hwy,group=drv)) +
      geom_point() +
      geom_smooth(se=F)
    #3,全局变量中以drv分类加颜色
    ggplot(mpg, aes(x = displ, y = hwy,color=drv)) +
      geom_point() +
      geom_smooth(se=F)
    
    #4,以drv分类的散点图中加色,为局部变量
    ggplot(mpg, aes(x = displ, y = hwy)) +
      geom_point(aes(color=drv)) +
      geom_smooth(se=F)
    #5,散点图中加色以drv分类,局部变量;平滑曲线的类型以drv分类,局部变量
    ggplot(mpg, aes(x = displ, y = hwy,group=drv)) +
      geom_point(aes(color=drv)) +
      geom_smooth(aes(linetype=drv),se=F)
    #6,以drv分类画散点图
    ggplot(mpg, aes(x = displ, y = hwy,color=drv)) +
      geom_point() 
    

    1.7 统计变化 geom_bar(),geom_histogram()

    ggplot(data = diamonds) +
           geom_bar(mapping = aes(x = cut))
    

    几何对象和统计变化可相互转化

    ggplot(data = diamonds) +
           geom_bar(mapping = aes(x = cut))
    

    覆盖从统计变换生成的变量到图形属性的默认映射

     ggplot(data = diamonds) +
           geom_bar(
             mapping = aes(x = cut, y = ..prop.., group = 1)
           )
    

    1.8 位置调整 ```position="identity"/"fill"/"dodge"

    图形上色color,fill
    position 参数设定位置调整功能,当不需要堆叠的条形图,可以选用identity,fill,dodge

    • position = "identity"将每个对象直接显示在图中。不太适合条形图,条形会彼此重叠。显示重叠部分需设置 alpha 参数为一个较小 的数,使条形略微透明;或者 fill = NA,让条形完全透明:
    ggplot(
           data = diamonds,
           mapping = aes(x = cut, fill = clarity)
    )+
    geom_bar(alpha = 1/5, position = "identity")
         ggplot(
           data = diamonds,
           mapping = aes(x = cut, color = clarity)
    )+
    geom_bar(fill = NA, position = "identity")
    
    • position = "fill"与堆叠相似,但每组堆叠条形高度相同,这种条 形图可以比较各组间的比例:
    ggplot(diamonds)+
           geom_bar(aes(x=cut,fill=clarity),position="fill")
    
    • position = "dodge"将每组中的条形依次并列放置,这样可以非常轻松地比较每个条形 表示的具体数值:
       ggplot(data = diamonds) +
           geom_bar(
             mapping = aes(x = cut, fill = clarity),
             position="dodge")
    
    • position="jitter"每个点抖动,避免网格化排列/重叠

    1.9 坐标系

    • 使用 coord_polar() 函数将堆叠式条形图转换为饼图。
    #堆叠式条形图
    ggplot(data = diamonds) +
     geom_bar(
       mapping = aes(x = cut,fill = clarity),position="fill"
     )
    #转为饼图
    ggplot(data = diamonds) +
     geom_bar(
       mapping = aes(x = cut,fill = clarity),position="fill"
     )+
     coord_polar()
    
    饼图

    相关文章

      网友评论

        本文标题:ggplot2画图

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