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

Python012

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

本系列课程要求大家有一定的R语言基础,对于完全零基础的同学,建议去听一下师兄的《生信必备技巧之——R语言基础教程》。本课程将从最基本的绘图开始讲解,深入浅出的带大家理解和运用强大而灵活的ggplot2包。内容包括如何利用ggplot2绘制散点图、线图、柱状图、添加注解、修改坐标轴和图例等。

本次课程所用的配套书籍是: 《R Graphic Cookbooks》

除了以上的基本图形外,师兄还会给大家讲解箱线图、提琴图、热图、火山图、气泡图、桑基图、PCA图等各种常用的生信图形的绘制,还不赶紧加入收藏夹,跟着师兄慢慢学起来吧!

柱状图可能是最常用的一种数据可视化。它们通常用于显示数值(在y轴上),用于显示不同类别的数值(在x轴上)。例如,柱状图可以用来显示四种不同商品的价格。柱状图通常不适合显示一段时间内的价格,因为时间是一个连续的变量。

在制作柱状图时,您应该注意一个重要的区别:柱状图的高度有时表示数据集中的案例数,有时表示数据集中的值。记住这一区别——这可能会引起混淆,因为它们与数据的关系非常不同,但两者使用相同的术语。

拓展: position参数: 此处的position主要是指对图像的微调,最常见的应用是在分组的柱形图(bar)中,因为分组的柱形图会产生组内堆积和不堆积两种主要效果。

直方图又称柱状图/条形图,用来展示连续数据分布的常用工具,用来估计数据的概率分布。

使用格式:hist(x,breaks=n,main="name",labels=FASLE,col="blue",border="red",freq=TRUE)

x 向量,直方图的数据

breaks 描直方图的断点,例如breaks=20表示画出20个柱子;

labels 逻辑变量,TRUE标出频数

main 标题

col 颜色

border外框颜色

freq 逻辑变量,TRUE为数据频数,默认为TRUE;FALSE则为密度

我们可以用lines画出数据的密度曲线

还可以画正态分布的密度曲线

使用格式 ggplot(data,aes(x=class))+geom_bar()

x 绘制的数据

或者 ggplot(data,aes(y=class))+geom_bar(),则类型分布在y轴

当想看在该因素中其他因素的情况,可以利用fill进行绘制,得出叠堆条形图

横向的柱状

大多数时候我们想比较多个组直接某些因素的情况,例如有时候我们要画几个样本中各个细胞比例的情况

这是我们可以画堆叠条形图

此时不好比较,我们可以把同类型细胞放在一块比较,即横坐标变为细胞类型

在实验过程中可以采用容易分析的形式进行比较

以上是基本绘制的参数,此外还有美化的一些参数

labs 横纵坐标轴的名称

ggttitle 标题名称

geom_bar(width= )设置条形大小,默认情况下,设置为数据分辨率的90%。

theme_bw() 改变背景颜色

scale_fill_manual 自定义颜色

更多参数见 R语言绘图——数据可视化ggplot2 介绍和主要的参数

分组柱状图,又叫聚合柱状图。当需要在同一个轴上显示各个分类下不同的分组时,需要用到分组柱状图,是学术论文中常用的图。每个分组中的柱子使用不同的颜色或者相同颜色不同透明的方式区别各个分类,各个分组之间需要保持间隔。

利用ggplot2包进行绘制,这里不赘述。

[1] https://www.rdocumentation.org/packages/ggplot2/versions/3.3.5

[2] https://ggplot2-book.org/preface-to-the-second-edition.html