R语言绘图(ggplot2、ggpubr)从入门到精通04--柱状图美化之调色

本系列课程要求大家有一定的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()查看。以下是调色板:

往期文章

  1. R语言绘图(ggplot2、ggpurb)从入门到精通01--课程介绍
  2. R语言绘图(ggplot2、ggpurb)从入门到精通02--柱状图和直方图
  3. R语言绘图(ggplot2、ggpurb)从入门到精通03--箱式图和函数图像

你可能感兴趣的:(R语言绘图(ggplot2、ggpubr)从入门到精通04--柱状图美化之调色)