手把手教你画酷炫环形图(图文详解)
时间:2022-07-22
本文章向大家介绍手把手教你画酷炫环形图(图文详解),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
成品预览
环境需求
R 及 Rstudio 的安装配置
https://zhenglei.blog.csdn.net/article/details/102007737
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)
绘制圈图
载入包
rm(list=ls())
# 载入包
library(RCircos)
1
绘制人染色体圈图
# 绘制人染色体圈图 ------------------------------------------------------
# 导入人类染色体数据
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
绘制折线图
数据格式:
绘制:
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
修改导出大小,最好是正方形的,保存
会在根目录发现导出的圈图
- 微信支付推出人脸识别智慧时尚试衣间,无感购物即将来袭
- 如何判断你买的域名有没有被K过?
- 【设计模式】Factory模式
- Windows:将cmd命令行添加到右键中方法
- 回家的低价票难抢?注意!可能是被“爬虫”吃了
- DeepMind团队回顾2017年:想象、推理取得突破
- flask-mail发送QQ邮件代码示例(亲测可行)
- 数据结构与算法C#版笔记--排序(Sort)-下
- pip --upgrade批量更新过期的python库
- 数据结构与算法C#版笔记--排序(Sort)-上
- android 模拟器安装二三事
- 2017小程序发展大事件和未来3大趋势分析
- [复习]The C Programming Language 2nd 习题集(1.1-1.10)
- 数据结构C#版笔记--啥夫曼树(Huffman Tree)与啥夫曼编码(Huffman Encoding)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- leetcode栈之二叉树的前序遍历
- 前端学数据结构与算法(七): 从零实现优先队列-堆及其应用
- 前端学数据结构与算法(六):二叉树的四种遍历方式及其应用
- 前端学数据结构与算法(五):理解二叉树特性及从零实现二叉搜索树
- 前端学数据结构与算法(四):理解递归及拿力扣链表题目练手
- 前端学数据结构与算法(三):链表为什么能和数组相提并论?用链表实现数组bettle下
- 前端学数据结构与算法(二):数组的操作特性与栈的应用
- 前端学数据结构与算法(一):不会复杂度分析,算法等于白学
- 高可扩展性系统的设计
- Vue如何实现导出页面为PDF
- 短视频APP开发,如何做到获取播放视频和音频文件
- 3分钟短文:Laravel模型创建数据条目的2个语法糖
- leetcode队列之最近的请求次数
- 路由策略中的IP-Prefix你了解多少?
- Qt音视频开发29-Onvif云台控制