R 数据可视化 03 | 圈图

作者: 白墨石 | 来源:发表于2020-07-19 16:41 被阅读0次

    成品预览

    mark

    一、环境需求

    R 及 Rstudio 的安装配置

    一步一步安装及配置R及Rstudio(详细图文)

    RCircos安装
    options()$BioC_mirror
    options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")
    options()$BioC_mirror
    if (!requireNamespace("BiocManager", quietly = TRUE)) 
      install.packages("BiocManager")
    library(BiocManager)
    
    # 方法一
    BiocManager::install("RCircos",ask = F,update = F)
    

    二、绘制圈图

    0.载入包
    rm(list=ls())
    
    # 载入包
    library(RCircos)
    
    1.绘制人染色体圈图
    # 绘制人染色体圈图 ------------------------------------------------------
    # 导入内建人类染色体数据
    data(UCSC.HG19.Human.CytoBandIdeogram)
    
    # 设置染色体数据
    cyto.info <- UCSC.HG19.Human.CytoBandIdeogram
    # 设置不显示的染色体,如 c(1,3)  
    chr.exclude <- NULL
    # 设置内部环形个数
    tracks.inside <- 10
    # 设置外部环形个数  
    tracks.outside <- 0
    
    # 导入上面四个基本参数
    RCircos.Set.Core.Components(cyto.info, chr.exclude,tracks.inside, tracks.outside)
    
    
    # 列出所有绘图参数
    RCircos.List.Plot.Parameters()
    
    # 绘制染色体图形,默认方法显示染色体名称。
    RCircos.Set.Plot.Area()     
    RCircos.Chromosome.Ideogram.Plot() 
    

    数据格式:

    mark

    绘制:

    mark
    2.绘制基因
    # 添加基因名称与连线 ------------------------------------------------------
    
    # 加载内置的RCircos.Gene.Label.Data数据集
    data(RCircos.Gene.Label.Data);
    
    # 指定内容在内侧的环形还是外侧的环形生成
    side <- "in";
    # 指定内容在第几个环形生成
    track.num <- 1;
    
    # 绘图
    RCircos.Gene.Connector.Plot(RCircos.Gene.Label.Data, track.num, side);
    
    # 在染色体上添加基因名称, 指定内容在第几个环形生成
    name.col <- 4;
    track.num <- 2;
    
    # 绘图
    RCircos.Gene.Name.Plot(RCircos.Gene.Label.Data, name.col,track.num, side);
    

    数据格式:

    mark

    绘制:

    mark

    3.绘制热图

    # 添加热图类型的环形 ---------------------------------------------------------------
    # 加载内置的RCircos.Heatmap.Data数据集
    data(RCircos.Heatmap.Data);
    
    # 指定以第6列数据生成热图
    data.col <- 6;
    # 指定内容在第5个环形生成
    track.num <- 5;
    # 指定内容在内侧的环形生成
    side <- "in";
    
    # 绘图
    RCircos.Heatmap.Plot(RCircos.Heatmap.Data, data.col, track.num, side);
    

    数据格式:

    mark

    绘制:

    mark

    4.绘制散点图

    # 添加散点图类型的环形 -------------------------------------------------------------
    # 加载内置的RCircos.Scatter.Data数据集
    data(RCircos.Scatter.Data);
    
    # 指定以第5列数据图形中散点纵坐标
    data.col <- 5;
    # 指定图形在第6个环形生成
    track.num <- 6;
    # 指定图形在内侧环形生成
    side <- "in"
    # 指定数据大于1的点以红色显示,小于数据1的点以蓝色显示
    by.fold <- 1;
    
    # 绘图
    RCircos.Scatter.Plot(RCircos.Scatter.Data, data.col,track.num, side, by.fold);
    

    数据格式:

    mark

    绘制:

    mark
    5.绘制折线图
    # 添加折线图类型的环形 -------------------------------------------------------------------
    
    # 加载内置的RCircos.Line.Data数据集
    data(RCircos.Line.Data);
    # 指定以第5列数据做为图形中拆线的纵坐标
    data.col <- 5;
    # 指定图形在第7个环形生成
    track.num <- 7;
    # 指定图形在内侧环形生成
    side <- "in";
    
    # 将chromosome列加入 `chr`,不然会因为数据格式不一致报错
    RCircos.Line.Data$chromosome = paste0("chr",RCircos.Line.Data$chromosome)
    # 绘图
    RCircos.Line.Plot(RCircos.Line.Data, data.col, track.num, side);
    

    数据格式:

    mark

    绘制:

    mark

    5.绘制直方图

    # 添加直方图类型的环形 --------------------------------------------------------------------
    # 加载内置的RCircos.Histogram.Data数据集
    data(RCircos.Histogram.Data);
    # 指定以第4列数据做为图形中直方的纵坐标
    data.col <- 4;
    # 指定图形在第8个环形生成
    track.num <- 8;
    # 指定图形在内侧环形生成
    side <- "in";
    # 绘图
    RCircos.Histogram.Plot(RCircos.Histogram.Data, data.col, track.num, side);
    

    数据格式:

    mark

    绘图:

    mark
    6.绘制网络图
    # 添加网络图类型的环形 --------------------------------------------------------------------
    # 加载内置的RCircos.Tile.Data数据集
    data(RCircos.Tile.Data);
    # 指定图形在第9个环形生成
    track.num <- 9;
    # 指定图形在内侧环形生成
    side <- "in";
    # 绘图
    RCircos.Tile.Plot(RCircos.Tile.Data, track.num, side);
    

    数据格式:

    mark

    绘图:

    mark
    7.添加和弦图
    # 添加一个或多个基因间的联系曲线 ----------------------------------------------------------
    # 加载内置的RCircos.Link.Data数据集
    data(RCircos.Link.Data);
    # 指定图形在第11个环形生成
    track.num <- 11;
    # 绘图
    RCircos.Link.Plot(RCircos.Link.Data, track.num, TRUE);
    # 加载内置的RCircos.Ribbon.Data数据集
    data(RCircos.Ribbon.Data);
    

    数据格式:

    mark

    绘图:

    mark

    三、导出PDF

    点击 Export , 选择Save as PDF

    mark

    修改导出大小,最好是正方形的,保存

    mark

    会在根目录发现导出的圈图

    mark

    相关文章

      网友评论

        本文标题:R 数据可视化 03 | 圈图

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