使用ggplot2进行数据可视化(一)

1.1简介​​​​​​​​​​​​​​

ggplot2是R中功能较全的绘图工具,实现了图形语法。它是tidyverse的一个核心R包,可以运行以下代码来加载tidyverse:

library(tidyverse)
#── Attaching packages ────────────── tidyverse 1.3.2 ──
#✔ ggplot2 3.3.6      ✔ purrr   0.3.4 
#✔ tibble  3.1.8      ✔ dplyr   1.0.10
#✔ tidyr   1.2.1      ✔ stringr 1.4.1 
#✔ readr   2.1.2      ✔ forcats 0.5.2 
#── Conflicts ───────────────── tidyverse_conflicts() ──
#✖ dplyr::filter() masks stats::filter()
#✖ dplyr::lag()    masks stats::lag()

 这一行代码加载了tidyverse的核心R包,在数据分析中十分常用。

可以使用package::function()来明确指出某个函数的来源,比如ggplot2::ggplot()明确指出了我们使用的是ggplot2包中的ggplot()函数。

1.2第一步

使用一张图来回答问题:大引擎汽车比小引擎汽车更耗油吗?

1.2.1 mpg数据框

数据框是变量(列)和变量(行)的矩形集合。mpg包含了美国环境保护协会收集的38种车型的数据。

> mpg
# A tibble: 234 × 11manufact…¹ model displ  year   cyl trans drv     cty            1 audi       a4      1.8  1999     4 auto… f        182 audi       a4      1.8  1999     4 manu… f        213 audi       a4      2    2008     4 manu… f        204 audi       a4      2    2008     4 auto… f        215 audi       a4      2.8  1999     6 auto… f        166 audi       a4      2.8  1999     6 manu… f        187 audi       a4      3.1  2008     6 auto… f        188 audi       a4 q…   1.8  1999     4 manu… 4        189 audi       a4 q…   1.8  1999     4 auto… 4        16
10 audi       a4 q…   2    2008     4 manu… 4        20
# … with 224 more rows, 3 more variables: hwy ,
#   fl , class , and abbreviated variable
#   name ¹​manufacturer
# ℹ Use `print(n = ...)` to see more rows, and `colnames()` to see all variable names

mpg中包括以下变量:

displ:引擎大小,单位为升

hwy:汽车在高速公路上行驶时的燃油效率,单位为英里/加仑(mpg)

1.2.2创建ggplot图形

为了绘制mpg的图形,运行以下代码将displ放在x轴,hwy放在y轴:

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

 上图显示出引擎大小(displ)和燃油效率(hwy)之间是负相关关系。换句话说,大引擎汽车更耗油。

在ggplot2中,可以使用ggplot()函数开始绘图。ggplot()创建了一个坐标系,可以在上面添加图层。ggplot()的第一个参数是要在图中使用的数据集。ggplot(data=mpg)会创建一张空白图。

向ggplot()中添加一个点层,就可以创建一张散点图。ggplot2中包含了多种几何对象函数,美中函数都可以向图中添加不同类型的图层。

每个几何对象函数都有一个mapping参数,定义了如何将数据集中的变量映射为图形属性。mapping参数总是与aes()函数成对出现,aes()函数中的x参数和y参数分别指映射到x轴和y轴的变量。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部