[关闭]
@agpwhy 2021-05-15T10:43:27.000000Z 字数 2068 阅读 292

王胖的生信笔记5:饱和式“灌输“ggplot2可视化方法

引子

之前使用了Y叔的包做了一下法国每日新增新冠确诊人数的可视化图。

pic1

pic2

当然这个图比较粗糙。但是ggplot2可以完成的效果远比这个要多。

这两天看到一个教程,写的非常好。

https://www.cedricscherer.com/2019/08/05/a-ggplot2-tutorial-for-beautiful-plotting-in-r/#axes

接着这个机会,就用每周一期的形式摘一些翻译介绍一下里面的内容(估计可以水5-6期)。

现在开始奥。

准备工作

首先安装一下这个教程需要的一些工具包

install.packages(c("tidyverse", "colorspace", "corrr", "cowplot", "ggdark", "ggforce", "ggrepel", "ggridges", "ggsci", "ggtext", "ggthemes", "grid", "gridExtra", "patchwork", "rcartocolor", "scico", "showtext", "shiny", "plotly", "highcharter", "echarts4r"))

install.packages(devtools)

devtools::install_github("JohnCoene/charter")

(不能github安装的可以自行学习下yulab.utils这个包,如果有超过两个人问怎么使用,我下次写一下笔记)

数据来源

是来源于美国空气污染和死亡率的一个研究数据。节选了1997-2000年芝加哥的数据。(原始数据:https://github.com/Z3tt/R-Tutorials/blob/master/ggplot2/chicago-nmmaps.csv

读取数据

chic <- readr::read_csv("https://raw.githubusercontent.com/Z3tt/R-Tutorials/master/ggplot2/chicago-nmmaps.csv")

看一下数据大概长啥样

tibble::glimpse(chic)

or

head(chic, 10)

pic4

简述ggplot2

gggplot2到时候看代码里可能涉及的一些元素

Data:你给出来去做图的数据

Geometries geom_:图形的形状参数

Aestheticsaes():图形的美化参数(位置,颜色,大小,形状,透明度等)

Scalesscale_:数据缩放参数

Statistical transformationsstat_:统计转换

Coordinate systemcoord_:坐标系

Facetsfacet_:分面设置(可以同一页面显示好多图)

Visual themestheme():可以直接套用的图形模版主题(比如空白主题,经济学人主题等)

当然看不懂没关系。我目前水平空口讲也讲不清。让我们在敲键盘中理解这些。

从默认的图形开始

library(tidyverse)

画出一个默认图形需要至少三个元素:Data、Aesthetics、Geometries。

一般来说一张图上需要x轴和y轴两个Aesthetics的参数。即aes(x = 第一个参数, y = 第二个参数),然后把这些套在ggplot()里面。

比如说这样。

g <- ggplot(chic, aes(x = date, y = temp))

咦?翻车了?

没事。我们来看看怎么搞。还记得我们这段第一句话嘛,就是我们画一张默认图形至少需要三个参数。我们现在有了两个(data=chic如果放在ggplot里第一个,可以直接缩略掉前面的data=)

你可以从头写过,像这样

g <- ggplot(chic, aes(x = date, y = temp))+geom_point()

也可以从刚刚的基础上直接加上后面的geom_point()

g + geom_point()

这个出来是散点图,那如果想画连城线的呢?

g + geom_line()

调皮的你是不是想过,能不能两个同时来一个呢。

g + geom_line() + geom_point()

恭喜你,这个调皮的尝试是可以的。

到这一步,已经可以出图啦!但是还是很丑。没事,之后我们会施展魔法让它变得更好看的。像这样。

pic5

路一步步走,让我一步步翻译。

修改geom_的一些参数

g + geom_point(color = "firebrick", shape = "diamond", size = 2)

pic6

这里的color考虑到英美拼写的习惯,很贴心的设置了多种方式,写color,colour,col都行。

关于颜色,如果你搞美术设计的,可以替换成#C1D8F7这种形式也可以。

g + geom_point(color = "#C1D8F7", shape = "diamond", size = 2) + geom_line(color = "firebrick",linetype = "dotted", size = .3)

pic7

最后给下期的笔记做一个铺垫。

pic8

这是使用主题theme的功能把这个变成黑白的背景。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注