本系列课程要求大家有一定的R语言基础,对于完全零基础的同学,建议去听一下师兄的《生信必备技巧之——R语言基础教程》。本课程将从最基本的绘图开始讲解,深入浅出的带大家理解和运用强大而灵活的ggplot2包。内容包括如何利用ggplot2绘制散点图、线图、柱状图、添加注解、修改坐标轴和图例等。
本次课程所用的配套书籍是:《R Graphic Cookbooks》
除了以上的基本图形外,师兄还会给大家讲解箱线图、提琴图、热图、火山图、气泡图、桑基图、PCA图等各种常用的生信图形的绘制,还不赶紧加入收藏夹,跟着师兄慢慢学起来吧!
第二章:柱状图深入探究
柱状图可能是最常用的一种数据可视化。它们通常用于显示数值(在y轴上),用于显示不同类别的数值(在x轴上)。例如,柱状图可以用来显示四种不同商品的价格。柱状图通常不适合显示一段时间内的价格,因为时间是一个连续的变量。
在制作柱状图时,您应该注意一个重要的区别:柱状图的高度有时表示数据集中的案例数,有时表示数据集中的值。记住这一区别——这可能会引起混淆,因为它们与数据的关系非常不同,但两者使用相同的术语。
- 回顾:
library(ggplot2)
## 单一柱状图
library(gcookbook) # 包内含有需要的数据;
pg_mean <- pg_mean
ggplot(pg_mean,aes(x = group, y = weight)) + geom_bar(stat = "identity")
# 提示:绘图函数里的stat参数表示对样本点做统计的方式,
# stat="count"(默认):表示一个x 对应 落到该x的样本数,
# stat = "identity":表示一个x 对应 一个y,
# ”说白了就是,identity提取横坐标x对应的y值,count提取横坐标x的频数。
# 当x是连续型变量的时候,绘制出的柱状图会有一些小的差别:
BOD <- BOD
ggplot(BOD,aes(Time,demand)) + geom_bar(stat = "identity")
ggplot(BOD,aes(factor(Time),demand)) + geom_bar(stat = "identity")
- 修改颜色:
# 修改柱状图的填充(fill)和描边(color):
ggplot(pg_mean,aes(group, weight)) +
geom_bar(stat = "identity",fill = "lightblue", color = "black")
# 也可通过分组变量设置颜色:
cabbage_exp <- cabbage_exp
ggplot(cabbage_exp,aes(Date, fill = Cultivar)) +
geom_bar(position = "dodge")
# 通过scale_fill_brewer()修改颜色模式:
ggplot(cabbage_exp,aes(Date, Weight, fill = Cultivar)) +
geom_bar(position = "dodge",stat = "identity",color = "black") +
scale_fill_brewer(palette = "Pastel1")
拓展: position参数: 此处的position主要是指对图像的微调,最常见的应用是在分组的柱形图(bar)中,因为分组的柱形图会产生组内堆积和不堆积两种主要效果。
-
position常用参数值:其中stack和dodge最为常用。**
- "identity": 不调整,组内前后重叠;
- "stack": 堆积,默认;
- "fill":按比例堆积;
- "dodge": 分散
- ColorBrewer 配色,使用的是scale_colour_ brewer ( )、scale_fill_ brewer ( )。要想了解所有的调色板,可以使用RColorBrewer::display.brewer.all()查看。以下是调色板: