美文网首页R语言
[ggplot2]初步认识

[ggplot2]初步认识

作者: 巩翔宇Ibrahimovic | 来源:发表于2020-02-18 20:00 被阅读0次

作为R里面用途最广泛的一个画图包,是必须要学会的。数据分析的过程无法给人瞬间展示出来,但是画图却可以,接下来几天,我就看看这个R包怎么用,能做什么。

安装并加载

> install.packages("ggplot2")
> library(ggplot2)

绘制核酸多样性的散点图。

首先使用ggplot(d)来提供数据框的画板(注意ggplot2只能对数据框进行操作,所以在画图前务必确保数据的简洁性且为数据框格式)。其次,添加图层,+来做连接。可以是点(geom_point()),也可以是其他类型 ,e.g., geom_line(), geom_bar(), geom_density(), geom_boxplot().

#读取
d <- read.csv("Dataset_S1.txt",header = T,stringsAsFactors = F)
#设置新变量
d$position <- (d$end+d$start)/2
#作点图,并给x和y轴添加标题
ggplot(d)+geom_point(aes(x=position,y=Divergence))+xlab("chromose position(basepair)")+ylab("nuvleotide diversity")
#改变颜色
ggplot(d)+geom_point(aes(x=position,y=Divergence),color="red")
#改变点的透明度,来减少点的覆盖,通过alpha这个选项
ggplot(d)+geom_point(aes(x=position,y=Divergence),alpha=0.01)

做密度图

ggplot(d) + geom_density(aes(x=Divergence), fill="black")

添加一条曲线,而不是设置透明度来表示趋势。

ggplot(d, aes(x=depth, y=total.SNPs)) + geom_point() + geom_smooth()
#默认曲线是有置信区间的,可以添加geom_smooth(se=FALSE)去掉置信区间
ggplot(d, aes(x=depth, y=total.SNPs)) + geom_point() +geom_smooth(se=FALSE)

Binning(discretization) Data with cut() and Bar Plots with ggplot2**

#cut()将数据分成相同大小的区间
d$GC.binned <- cut(d$X.GC, 5)
d$GC.binned
#使用table()进行计数
table(d$GC.binned)

柱状图的使用

ggplot(d) + geom_bar(aes(x=GC.binned))

ggplot(d) + geom_density(aes(x=depth, linetype=GC.binned), alpha=0.5)

素材来源:
https://github.com/vsbuffalo/bds-files
(Chapter8 R)
参考资料:
《Bioinformatics Data Skills》

相关文章

  • [ggplot2]初步认识

    作为R里面用途最广泛的一个画图包,是必须要学会的。数据分析的过程无法给人瞬间展示出来,但是画图却可以,接下来几天,...

  • 初步认识

    初识C语言 开始 我从高三毕业假期开始涉及C语言学习,经过了九个月左右的学习,初步认识了这种语言的语法和具体特质。...

  • BOM初步认识

    什么是BOM BOM:Browser Object Model 浏览器对象模型BOM是JavaScript组成之一...

  • 初步认识zookeeper

    什么是zookeeper zookeeper 是一个开源的分布式协调服务,由雅虎公司创建,是google chub...

  • [ZooKeeper]初步认识

    前言在学习任何技术知识的时候,一定要思考他的本质!3w原则想必都听过:why、what、how。大why,小wha...

  • 初步认识TCGA

    转自生信笔记http://www.bioinfo-scrounger.com/archives/271 肿瘤基因组...

  • Fiddler初步认识

    1、抓包工具有很多,为什么要使用Fiddler呢?原因如下: a.Firebug虽然可以抓包,但是对于分析http...

  • 初步认识“运营”

    运营一直以来给我的感觉是一种很抽象的东西,他有点类似带团队、经营一个网店或项目。其实运营还真是五花八、各种各样 。...

  • 初步认识Html

    什么是html(Hpyetext Markup Language):由一些称为标签的经过编码的标记符组成标签把包含...

  • Docker初步认识

    一、Docker简介 1、Docker是什么? “Docker 是一个基于Go语言实现的开源应用容器引擎,让开发者...

网友评论

    本文标题:[ggplot2]初步认识

    本文链接:https://www.haomeiwen.com/subject/gvjnfhtx.html