使用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 × 11
   manufact…¹ model displ  year   cyl trans drv     cty
   <chr>      <chr> <dbl> <int> <int> <chr> <chr> <int>
 1 audi       a4      1.8  1999     4 auto… f        18
 2 audi       a4      1.8  1999     4 manu… f        21
 3 audi       a4      2    2008     4 manu… f        20
 4 audi       a4      2    2008     4 auto… f        21
 5 audi       a4      2.8  1999     6 auto… f        16
 6 audi       a4      2.8  1999     6 manu… f        18
 7 audi       a4      3.1  2008     6 auto… f        18
 8 audi       a4 q…   1.8  1999     4 manu… 4        18
 9 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 <int>,
#   fl <chr>, class <chr>, 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轴的变量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值