本系列课程要求大家有一定的R语言基础,对于完全零基础的同学,建议去听一下师兄的《生信必备技巧之——R语言基础教程》。本课程将从最基本的绘图开始讲解,深入浅出的带大家理解和运用强大而灵活的ggplot2包。内容包括如何利用ggplot2绘制散点图、线图、柱状图、添加注解、修改坐标轴和图例等。
本次课程所用的配套书籍是:《R Graphic Cookbooks》
除了以上的基本图形外,师兄还会给大家讲解箱线图、提琴图、热图、火山图、气泡图、桑基图、PCA图等各种常用的生信图形的绘制,还不赶紧加入收藏夹,跟着师兄慢慢学起来吧!
第一章:快速探索数据
-
箱式图:
- 同样可以用plot来画:
#使用plot()函数,当x为因子变量(与数值变量对应时),默认绘制箱线图 ToothGrowth <- ToothGrowth plot(ToothGrowth$supp,ToothGrowth$len) #使用公式语法 boxplot(len ~ supp, data = ToothGrowth) #在x轴引入两变量的交互 boxplot(len ~ supp + dose,data = ToothGrowth)
- 使用qplot
#用qplot()绘制箱线图
qplot(ToothGrowth$supp,ToothGrowth$len,geom = "boxplot")
#使用三个独立的向量参数
qplot(interaction(supp,dose),len,data = ToothGrowth,geom = "boxplot")
- 使用ggplot2
#等价于
ggplot(data = ToothGrowth,mapping = aes(x=supp,y=len)) + geom_boxplot()
#等价于
ggplot(data = ToothGrowth,mapping = aes(x=interaction(supp,dose),y=len)) + geom_boxplot()
-
函数图像:
- 使用curve()函数绘制
#使用curve()函数绘制,传入一个关于变量x的表达式 curve(x^3 - 5*x,from = -4,to = 4) #自定义函数图像 my_fun <- function(xvar){ 1/(1 + exp(-xvar + 10)) } curve(my_fun(x),from = 0, to = 20) # 原有基础上再加一条线; curve(1 - my_fun(x),add = TRUE,col = "red")
- 使用ggplot2
#等价于
ggplot(data.frame(x=c(0,20)),aes(x=x)) + stat_function(fun = my_fun,geom = "line")