在本次练习中,我们通过一个简单的例子,快速了解ggplot2作图的思想。
1.ggplot2的安装
通过以下命令,安装ggplot2包
#安装ggplot2
install.packages("ggplot2")
#加载需要使用的包
library(ggplot2)
library(dplyr)
2.数据的准备
在ggplot绘图的艺术-1:数据准备中,我们对要进行作图的数据进行了处理,使其符合R作图通用的tidy data规则。现在,我们截取其中的一部分数据,方便演示:
#提取dexp数据框group1中G1到G10基因在S1-S3中的表达量
dexp_small<-filter(dexp, #使用dplyr包中的filter命令进行数据的过滤
Group == "group1", #截取group1中的数据
Gene %in% paste("G", 1:10, sep = "")) %>% #选取G1到G10基因
select(-Group, -Length) #去掉Group和Length这两列
结果如下:
3.使用ggplot2作图
运行如下代码:
ggplot(data=dexp_small,aes(x=Sample, y=Expression))
#1.调用ggplot包,对数据框dexp_small进行作图
#2.以Sample为X轴,Expression为Y轴
运行结果如下:
我们可以看到,运行出来的结果为一张白板,只有坐标轴,而没有各种元素。
为突表添加散点图:
ggplot(data=dexp_small,aes(x=Sample, y=Expression))+
geom_point()
效果如下:
为上图散点添加颜色:
ggplot(data=dexp_small,aes(x=Sample, y=Expression,color = Gene))+
geom_point()
4.总结
在上面的例子中,我们接触到了ggplot2作图过程中最重要的三个概念:映射、图层和几何对象。
aes()函数是ggplot2中的映射函数, 所谓的映射即为数据集中的数据关联到相应的图形属性过程中一种对应关系
ggplot2中图层的概念和PS中图层的概念很像, 可以这样理解ggplot2中的图层:每个图层可以代表一个图形组件, 这些组件以图层的方式叠加在一起构成一个绘图的整体, 在每个图层中的图形组件又可以分别设定数据、映射或其他相关参数, 因此组件之间又是具有相对独立性的。
几何对象执行着图层的实际渲染, 控制着生成的图像类型。例如用geom_point()将会生成散点图, 而geom_line会生成折线图。
注:本文是我在基因课网络课程《ggplot:绘图的艺术》的学习笔记,使用Markdown写作。