ggplot第五篇--几何对象与统计变换的简单对应
2018-08-23 本文已影响63人
小洁忘了怎么分身
微信公众号生信星球同步更新我的文章
写在前面
今天发生了一件有趣的事。在从食堂回实验室的路上, 我和师姐讨论了一点实验的问题,说到western需要抗体,可是好慢啊,我看到走在前面的小哥愣了一下,我想人家会不会把我当成书呆子了,路上竟然讨论实验?或者就是他做的实验和我一样,不由自主瞅了一眼。
然后小哥回头跟我说上话了,原来他是诺禾致源的销售,他们公司有这个业务,并且很快的!!!哇这样的销售简直厉害了,竟然走着路都不忘工作,这要是谈成了,岂不是从路上捡来的生意?立刻刮目相看,要了名片。诺禾不愧是大公司,有这样的敬业的员工真的是好棒。
然后我跟一个在诺禾做工程师的朋友聊起来这件事,画风是这样的:
呃。。。同样的敬业又优秀的员工!!作为一个工程师,竟然还不忘给我推销一把。
不说了,我本来就是诺禾粉丝,这下更被圈粉。那位销售小哥听说我学生信,竟然还要拉我去他们公司工作哈哈哈,经他同意在这里贴个名片,北京的小伙伴有需求可以联系下啊~
这样敬业的员工应该升职加薪,我要奔走相告!
1.示例数据
在公众号回复:dexp.csv,获得示例数据。
读取数据:
dexp <- read.csv("dexp.csv",row.names = 1)#设置第一列为行名
示例数据:40个基因,每个基因9个重复,加上这9个重复各自的观测值,以及每个基因的长度。
准备好ggplot2和gridExtra包。
数据简化:取前四个基因
dexp_small <- filter(dexp, Gene %in% paste("G", 1:4, sep = ""))
2.定义背景图层
要绘制7个图形,可以先定义背景图层,以简化代码。
p <- ggplot(data = dexp_small, aes(x = Sample, y = Expression))
3.绘制各类图形
#geom_point:散点图
p_point <-p + geom_point(
stat = "identity",
aes(color = Gene),
) +
labs(title = "geom_point")
#geom_bar:条形图
p_bar1<-p + geom_bar(
stat = "identity",
aes(fill = Gene), #fill是填充颜色,改成color就是边框颜色了,默认填充黑色
)
p_bar2 <- p + geom_bar(
stat = "identity",
aes(fill = Gene),
position = "dodge" #默认stack,改为dodge则是并排,fill将总和算作一,显示百分比。
)
#geom_line:折线图
p_line <- p + geom_line(
stat = "identity",
aes(color = Gene, group = Gene)
)
#geom_area:面积图 #折线图的积分
p_area <- p + geom_area(
stat = "identity",
aes(fill = Gene, group = Gene),
position = "dodge", #改成“stack”,则会层叠起来
alpha = 5/10 #产生遮挡,调整透明度
)
#geom_boxplot:箱线图
p_boxplot <- p + geom_boxplot(
stat = "boxplot",
aes(color = Sample, group = Sample)
)
##密度图
p_density <- ggplot(data = dexp_small)+
geom_density(stat = "density",
aes(Expression, color = Gene))
##小提琴图
p_violin <-ggplot(data = dexp_small,aes(x = Sample, y = Expression)) + geom_violin(stat = "ydensity",
aes(fill = Sample,color=Sample))
3.合并显示在同一张图上-grid.arrange
grid.arrange(p_point, p_bar1,p_bar2, p_line, p_area,p_boxplot,p_violin, p_density,ncol = 2)#两列
这图真好看