手把手教你画酷炫环形图(图文详解)
作者:白墨(生信菜鸟团)
原文:https://mp.weixin.qq.com/s/mXuF-xqtFSX-m1agxa_CYg
成品预览
R 及 Rstudio 的安装配置
https://zhenglei.blog.csdn.net/article/details/102007737RCircos 安装
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)
载入包
rm(list=ls())
# 载入包
library(RCircos)
# 绘制人染色体圈图 ------------------------------------------------------
# 导入人类染色体数据
data(UCSC.HG19.Human.CytoBandIdeogram)
# 设置染色体数据
cyto.info <- UCSC.HG19.Human.CytoBandIdeogram
# 设置不显示的染色体
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()
数据格式:
绘制:
2 绘制基因
# 添加基因名称与连线 -----------------------------------------------------
# 加载数据集
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);
数据格式:
绘制:
3 绘制热图
# 添加热图类型的环形 ---------------------------------------------------------------
# 加载数据集
data(RCircos.Heatmap.Data);
# 设置热图数据
data.col <- 6;
# 设置第5个环形生成
track.num <- 5;
#设置在内侧的环形生成
side <- "in";
# 绘图
RCircos.Heatmap.Plot(RCircos.Heatmap.Data, data.col, track.num, side);
数据格式:
绘制:
4 绘制散点图
# 添加散点图类型的环形 -------------------------------------------------------------
# 加载数据集
data(RCircos.Scatter.Data);
# 设置散点纵坐标
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);
数据格式:
绘制:
5 绘制折线图
# 添加折线图类型的环形 ---------------------------------------------------
# 加载数据集
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);
数据格式:
绘制:
6 绘制直方图
# 添加直方图类型的环形 --------------------------------------------------------------------
# 加载内数据集
data(RCircos.Histogram.Data);
# 设置第4列为绘制数据
data.col <- 4;
# 设置在第7环绘制图形
track.num <- 8;
# 设置在内环绘制图形
side <- "in";
# 绘图
RCircos.Histogram.Plot(RCircos.Histogram.Data, data.col, track.num, side);
数据格式:
绘图:
7 绘制网络图
# 添加网络图类型的环形 --------------------------------------------------------------------
# 加载数据集
data(RCircos.Tile.Data);
# 设置图形在9环绘制
track.num <- 9;
# 设置图形在内环绘制
side <- "in";
# 绘图
RCircos.Tile.Plot(RCircos.Tile.Data, track.num, side);
数据格式:
绘图:
8 添加和弦图
# 添加一个或多个基因间的联系曲线 ----------------------------------------------------------
# 加载数据集
data(RCircos.Link.Data);
# 设置图形在11环绘制
track.num <- 11;
# 绘图
RCircos.Link.Plot(RCircos.Link.Data, track.num, TRUE);
数据格式:
绘图:
导出PDF
点击 Export , 选择Save as PDF
修改导出大小,最好是正方形的,保存
会在根目录发现导出的圈图:
本文分享自微信公众号 - 生信科技爱好者(bioitee)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。