美文网首页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]初步认识

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