这位兄台,数据可视化,ggpolt2了解下!
Posted 分子植物病理学
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了这位兄台,数据可视化,ggpolt2了解下!相关的知识,希望对你有一定的参考价值。
R语言之ggplot2 初体验
简单的图形对数据分析者的启示比任何其他方法都要多。 ——John Tukey
关于ggplot2背后更多的理论基础之后会专门做一个专栏学习。
数据可视化能够直观地展示出海量数据中所包含的信息,提高日常中工作效率。R语言中有好几种绘图工具,但是ggplot2是其中最优雅、功能最全面的一个。ggplot2 实现了图形语法,这是一套用来描述和构建图形的连贯性语法规则。之所以说ggplot2优雅、功能全面,是因为ggplot2的设计借鉴Photoshop的图层概念。当然,熟练使用Photoshop亦是科研人员所必备的技能之一。
那话不多说,直接上手教学!
一、前期准备
R环境配置与Rstudio安装,Rstudio为R专门的IDE,如今jetbrains也开发出了R Language for IntelliJ插件,如果你之前使用Pycharm或者idea两款IDE,那么只需下载插件即可(官网,或者进入IDE后设置plugins中下载),方便快速开发。
下图为Rstudio界面
下图为R Language for IntelliJ插件
二、加载核心R包
library(tidyverse)
-- Attaching packages --------------------------------------- tidyverse 1.3.0 --
√ ggplot2 3.3.2 √ purrr 0.3.4
√ tibble 3.0.3 √ dplyr 1.0.2
√ tidyr 1.1.2 √ stringr 1.4.0
√ readr 1.3.1 √ forcats 0.5.0
如果运行代码报错:“there is no package called ‘tidyverse’ ”,那么需要安装tidyverse。然后再次运行上述代码。
install.packages("tidyverse") # 安装装R包library(tidyverse) #加载R包
需要注意的是:R 包只需安装一次,但每次开始新会话时都要重新加载。
三、体验自带数据绘图
mpg(美国环境保护协会收集的38 种车型的观测数据),ggplot2中自带了mpg数据框(含有变量列和观测行的矩形集合),可以让我们快速体验绘图效果。
在Rstudio执行第二步骤:加载“tidyverse”R包后,可以直接键入mpg来查看数据框内容
> mpg # 查看数据框
# A tibble: 234 x 11
manufacturer model displ year cyl trans drv cty hwy fl class # 变量列
<chr> <chr> <dbl> <int> <int> <chr> <chr> <int> <int> <chr> <chr> # 数据结构类型
1 audi a4 1.8 1999 4 auto(l5) f 18 29 p compact # 观测行
2 audi a4 1.8 1999 4 manual(m5) f 21 29 p compact
3 audi a4 2 2008 4 manual(m6) f 20 31 p compact
4 audi a4 2 2008 4 auto(av) f 21 30 p compact
5 audi a4 2.8 1999 6 auto(l5) f 16 26 p compact
6 audi a4 2.8 1999 6 manual(m5) f 18 26 p compact
7 audi a4 3.1 2008 6 auto(av) f 18 27 p compact
8 audi a4 quattro 1.8 1999 4 manual(m5) 4 18 26 p compact
9 audi a4 quattro 1.8 1999 4 auto(l5) 4 16 25 p compact
10 audi a4 quattro 2 2008 4 manual(m6) 4 20 28 p compact
# ... with 224 more rows
mpg 中包括如下变量:
• displ:引擎大小,单位为升。
• hwy:汽车在高速公路上行驶时的燃油效率,单位为英里/ 加仑(mpg)。与燃油效率高的汽车相比,燃油效率低的汽车在行驶相同距离时要消耗更多燃油。
如果想要了解mpg更多信息,可以使用?mpg
进行查看。
所以,想要直观表示上述变量之间的关系,可以采用散点图来。
代码块:
ggplot(data = mpg)+geom_point(mapping = aes(x = displ, y = hwy))
代码解释:
# 如果在Rstudio中仅运行此代码,那么则会得到一个空白图。
ggplot(data = mpg) # 数据源为mpg数据框,此处mpg可以替换为其他数据框。
# 采用点图对上述空白图进行图层绘制叠加。ggplot2 中包含了多种几何对象函数,每种函数都可以向图中添加不同类型的图层。
geom_point()
# 映射 mapping 参数总是与aes()函数成对出现,
# aes() 函数的x参数和y参数分别指定了映射到x轴的变量与映射到y轴的变量。
# ggplot2 在data 参数中寻找映射变量,本例中就是mpg
mapping
综上代码科研建设者给大家绘制一幅图帮助大家更好理解:
ggplot(data = <DATA>) +<GEOM_FUNCTION>(mapping = aes(<MAPPINGS>))
四、绘图拓展——增加参数
如何做到能给不同车型上颜色呢?代码如下:
ggplot(data = mpg) + geom_point( mapping = aes(x = displ, y = hwy, color = class) )
我们看到,在aes()
函数中使用color
,按照class变量进行上色。此处color
可以换成shape
,效果图如下:
ggplot(data = mpg) + geom_point(mapping = aes(x = displ, y = hwy, shape = class))
如果换成alpha
,那么可以调节透明度。
ggplot(data = mpg) + geom_point(mapping = aes(x = displ, y = hwy, alpha = class))
本期为简单的ggplot2作图入门,下期我们将进阶ggplot2,之后还会开展数据框的获取,数据采集清洗等教程。望大家持续关注。
——科研建设者
以上是关于这位兄台,数据可视化,ggpolt2了解下!的主要内容,如果未能解决你的问题,请参考以下文章