美文网首页
[译文]——R语言中使用ggplot2进行网格图形绘制

[译文]——R语言中使用ggplot2进行网格图形绘制

作者: Mr_dvbkhm | 来源:发表于2017-04-30 21:39 被阅读1698次

    原文链接:http://www.statmethods.net/advgraphs/ggplot2.html
    ggplot2 是由Hadley Wickham创建的提供了强大的图形语言来用于创建复杂而优雅的绘图。近年来,它在R社区的受欢迎程度在爆炸式增长。
    基于Leland Wilkinson的图形语法,ggplot2允许您以直接的方式创建表示单变量和多变量数值和分类数据的图形。可以通过颜色,符号,大小和透明度表示来分组,创建一张网格图就会变得简单。
    qplot()
    qplot()函数可以用来创建最常见的图表类型。它不能展示所有ggplot的功能,它可以创建一个非常广泛的有用的图形。格式是:

    qplot(x, y, data=, color=, shape=, size=, alpha=, geom=, method=, formula=, facets=, xlim=, ylim= xlab=, ylab=, main=, sub=)
    

    下面是参数内容:

    参数             描述
    alpha           Alpha透明度为重叠元素表示为一个分数在0(完整的透明度)和1之间(完全不透明)
    
    color, shape    将变量的水平与象征的颜色,形状,或大小。对于线路图,颜色将水平的变量与线的颜色。密度和盒阴谋,填补associates颜色填充一个变量。据说是自动绘制。
    size, fill
    
    data            指定的一个数据集
    
    facets          通过指定条件变量创建一个格子图。它的值表示为rowvar ~ colvar。创建格子图基于一个可调节变量,使用rowvar ~或者~ colvar)。
    
    geom            指定图形几何实例来定义图形类型。geom选项表示了一个特征向量与一个或多个条目的关系。几何值观包括“点”、“顺滑”、“箱线图”,“行”,“直方图”、“密度”、“长条”,“抖动”。
    
    main, sub       特征向量指定标题和副标题
    
    method, formula   当观测的数量大于1000年,采用更有效的平滑算法。方法包括“lm”回归,为广义可加模型“gam”,“使用rlm”的回归。公式参数需要给适合的形式。
    
    x, y            指定变量放置在水平和垂直轴。对单变量(例如,直方图),省略y
    
    xlab, ylab      特征向量指定水平和垂直轴标签
    
    xlim,ylim      双元素数值向量给出的最小值和最大值分别对应水平轴和垂直轴
    

    注意:
    目前,ggplot2不能用于创建3 d图形或镶嵌的图形需求。 使用I(值)来表示一个特定的值。例如 size= z 使绘制点或线的大小proporational变量的值z。相比之下,size=I(3)每个点或线设置为默认大小的三倍。 下面有一些例子使用了包含在mtcars数据集中的汽车数据(汽车行驶里程、重量、数量的齿轮,缸数,等等)中。

    # ggplot2 examples
    library(ggplot2) 
    
    # 创建因子与标签
    mtcars$gear <- factor(mtcars$gear,levels=c(3,4,5),
        labels=c("3gears","4gears","5gears")) 
    mtcars$am <- factor(mtcars$am,levels=c(0,1),
        labels=c("Automatic","Manual")) 
    mtcars$cyl <- factor(mtcars$cyl,levels=c(4,6,8),
       labels=c("4cyl","6cyl","8cyl")) 
    
    # 每加仑汽油行驶的里程数的核密度图
    # 通过齿轮数来分组 (通过颜色来指明)
    qplot(mpg, data=mtcars, geom="density", fill=gear, alpha=I(.5), 
       main="Distribution of Gas Milage", xlab="Miles Per Gallon", 
       ylab="Density")
    

    显示结果如下:


    # 齿轮和气缸的组合因素分别对mpg和hp的影响散点图
    #每个层面下,通过形状和颜色来代表作用类型
    qplot(hp, mpg, data=mtcars, shape=am, color=am, 
       facets=gear~cyl, size=I(3),
       xlab="Horsepower", ylab="Miles per Gallon") 
    

    结果如下:

    
    # 重量对不同齿轮数在每加仑油耗的里程数的回归曲线
    qplot(wt, mpg, data=mtcars, geom=c("point", "smooth"), 
       method="lm", formula=y~x, color=cyl, 
       main="Regression of MPG on Weight", 
       xlab="Weight", ylab="Miles per Gallon")
    

    结果如下:

    # 不同齿轮数下的mpg的箱型图
    # 观察每个值的结果和抖动情况
    qplot(gear, mpg, data=mtcars, geom=c("boxplot", "jitter"), 
       fill=gear, main="Mileage by Gear Number",
       xlab="", ylab="Miles per Gallon")
    

    下面是显示结果图:

    定制ggplot2图
    和基本R图形不同的是,ggplot2 图形不受 par() 函数中众多选项的影响,ggplot2绘制的图形可以通过theme()函数来修改,也可以通过在gqlot()函数中增加图形参数来修改。为了更好的操控,可以使用其他包提供的 ggplot()和函数,ggplot2函数可以通过使用"+"来链式生成最终的图形

    library(ggplot2)
    
    p <- qplot(hp, mpg, data=mtcars, shape=am, color=am, 
       facets=gear~cyl, main="Scatterplots of MPG vs. Horsepower",
       xlab="Horsepower", ylab="Miles per Gallon")
    
    # 白色背景和黑色网格线
    p + theme_bw()
    
    # 大号棕色加粗斜体的标签放置在图形的顶部
    p + theme(axis.title=element_text(face="bold.italic", 
       size="12", color="brown"), legend.position="top")
    

    图形结果如下:

    想要获取ggplot2更多详细内容请参考
    http://ggplot2.tidyverse.org/reference/

    相关文章

      网友评论

          本文标题:[译文]——R语言中使用ggplot2进行网格图形绘制

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