R 数据可视化 03 | 圈图
2020-07-19 本文已影响0人
白墨石
成品预览
mark一、环境需求
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绘制:
mark2.绘制基因
# 添加基因名称与连线 ------------------------------------------------------
# 加载内置的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绘制:
mark3.绘制热图
# 添加热图类型的环形 ---------------------------------------------------------------
# 加载内置的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绘制:
mark4.绘制散点图
# 添加散点图类型的环形 -------------------------------------------------------------
# 加载内置的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绘制:
mark5.绘制折线图
# 添加折线图类型的环形 -------------------------------------------------------------------
# 加载内置的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绘制:
mark5.绘制直方图
# 添加直方图类型的环形 --------------------------------------------------------------------
# 加载内置的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绘图:
mark6.绘制网络图
# 添加网络图类型的环形 --------------------------------------------------------------------
# 加载内置的RCircos.Tile.Data数据集
data(RCircos.Tile.Data);
# 指定图形在第9个环形生成
track.num <- 9;
# 指定图形在内侧环形生成
side <- "in";
# 绘图
RCircos.Tile.Plot(RCircos.Tile.Data, track.num, side);
数据格式:
mark绘图:
mark7.添加和弦图
# 添加一个或多个基因间的联系曲线 ----------------------------------------------------------
# 加载内置的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