如果把一组数据表组成一个列表(list),panel.fun则迭代用于各个数据表。再随机生成一个list来观察它的结构:

bedlist = list(

bed01=generateRandomBed(nc=1,nr=200), bed02=generateRandomBed(nc=1,nr=200)

)

这里用nc和nr控制一下列和行的数量,不要像上面那样1万多行做出个密恐图。nc是指除了前三列之外的数值型列数;但nr就比较随缘,最后生成的行数可能并不是我们设的200,对此,circlize包的作者也只是提醒,并没有解释。就这样吧,反正除了做练习,应该也不大会用到随机生成数据的方法。

就这样,bed01和bed02是互有联系的两个数据框,它们的第1列也有相同的内容。还可以观察到两个表每行的起止点并不一样,这是因为起止点不是对第1列负责,而是对应后面的数值。然后再生成点图:

circos.genomicTrackPlotRegion(

bedlist,track.height=0.1,ylim = c(-1,1),

panel.fun = function(region, value, ...) {

i = getI(...)

circos.genomicPoints(

region, value,pch = 16, cex = 0.1,col = i, ...)

})

这段代码里,panel.fun的{}中,比单一数据表那里多了一个i=getI(...),circos.genomicPoints里也相应地多了一个col = i,这俩是什么意思呢?任性的Help是这么说的:

所以就是“憋说话,加我”的意思嘛╮(╯▽╰)╭

其实也可以理解为,一个list中有多个数据表,getI可以用来找到当前所用的表格中对应的数值型列。去掉这个不明觉厉的getI和col = i,生成下图中最里面那圈,图里就少了一组数据了。

如果表里有多个数值列,就可以用numeric.column来控制想要输出哪一列,像这段代码:

circos.genomicTrackPlotRegion(

bedlist,track.height=0.1,ylim = c(-1,1),

numeric.column = c(4, 5),

panel.fun = function(region, value, ...) {

circos.genomicPoints(region, value,pch = 16, cex = 0.1, ...)

})

就比上面多了一个numeric.column = c(4, 5),是指第一个表中的第4列和第二个表中的第5列。也就是说,每生成一个圈,都只能用到各个表中的1个列。

本例的低级函数只用了circos.genomicPoints(),但其他的circos.genomicLines()、circos.genomicRect()都大同小异,大家可以自行探索。还是多多练习circos.genomicTrackPlotRegion和panel.fun的用法吧。

R语言acres92 region_R语言作Circos图之进阶篇:圈圈套圈圈的法门相关推荐

  1. R语言acres92 region_R语言学习笔记(四)

    R语言支持很多图形,并且有些图形是非常少见的,可能也因为自己不是专业弄数据分析的所以就孤陋寡闻了,总结下目前学习到的图形. 条形图 这个图比较常见,很多数据统计软件都支持这种图形,这种图形可以很好的展 ...

  2. Python使用Matplotlib绘制三维折线图(进阶篇)

    1.0简介: 三维图像技术是现在国际最先进的计算机展示技术之一,任何普通电脑只需要安装一个插件,就可以在网络浏览器中呈现三维的产品,不但逼真,而且可以动态展示产品的组合过程,特别适合远程浏览. 立体图 ...

  3. C++语言程序设计视频教程_清华大学_郑莉(基础篇+进阶篇)

    C++语言程序设计视频教程_清华大学_郑莉(基础篇) 第一章:绪论 1.1 导学 1.2 计算机系统简介 1.3计算机语言和程序设计方法的发展 1.4 面向对象的基本概念 1.5 程序的开发过程 1. ...

  4. R语言Circos图可视化

    准备数据 需要准备两个数据:一个是基因表达谱,另一个是基因的注释(可以为KO注释,也可以是别的什么注释) 基因表达谱 sample1 sample2 sample3 ... gene1 1.0 2.0 ...

  5. 利用R语言对贷款客户作风险评估

    利用R语言对贷款客户作风险评估(上)--数据分析 前言 风险控制能力越来越成为互联网金融行业的隐形门槛,为风控人员提供显著地风险评估依据变得非常重要.本文以银行客户的信用卡信息为案例数据,对数据进行分 ...

  6. 利用R语言对贷款客户作风险评估(下)——零膨胀回归分析

    利用R语言对贷款客户作风险评估(下)--零膨胀回归分析 前言 上一篇的分类预测是决定好坏客户的初步判断, 不足以直接决策, 因此还需要进一步分析. 通过随机森林, 对影响好坏客户的解释变量的重要性进行 ...

  7. R语言ggplot2可视化分组的重叠图实战:grouped overlay plot

    R语言ggplot2可视化分组的重叠图实战:grouped overlay plot 目录 R语言ggplot2可视化分组的重叠图实战:grouped overlay plot #仿真数据

  8. R语言ggplot2可视化:可视化华夫饼图(Waffle Chart) 、华夫饼图可以直观地显示完成度(百分比)或者部分占整体的比例、华夫饼图适合于同类型指标的比较(Waffle Chart)

    R语言ggplot2可视化:可视化华夫饼图(Waffle Chart) .华夫饼图可以直观地显示完成度(百分比)或者部分占整体的比例.华夫饼图适合于同类型指标的比较(Waffle Chart) 目录

  9. R语言ggplot2可视化:可视化斜率图、对比同一数据对象随着时间推移多个状态的差异(Slope Chart)、例如、对比不同癌症5年期、10年期、15年期存活率的差异

    R语言ggplot2可视化:可视化斜率图.对比同一数据对象随着时间推移多个状态的差异(Slope Chart).例如.对比不同癌症5年期.10年期.15年期存活率的差异 目录

最新文章

  1. 在NVIDIA A100 GPU上利用硬件JPEG解码器和NVIDIA nvJPEG库
  2. 【c语言】蓝桥杯算法训练 大小写转换
  3. spark的python开发安装方式_python 安装spark_Spark环境搭建 (Python)
  4. hdu5424 Rikka with Graph II
  5. 怎么在win7链接无线网络连接服务器,Win7系统网络连接一直显示正在获取网络地址但是连不上网解决方法...
  6. python3中property使用方法详解
  7. 【java】 从hotspot底层对象结构理解锁膨胀升级过程
  8. 终于有人把 5G 和边缘计算的关系说清楚了! | 技术头条
  9. linux哪国的,Linux是什么它是哪个国家开发的
  10. java 数组中存储26个英文字母_利用数组打印26个英文字母
  11. android apk安装工具,Win10 Mobile安装安卓APK应用快捷安装工具下载
  12. 抖音视频水印如何去除掉?
  13. ise 14.7 XST.exe停止工作
  14. DSP28377S_CAN通信
  15. 解决VMware中的Windows Server 2012 R2无法成功安装Hyper-V的问题
  16. jquery判断日期格式
  17. python做exe需要注意32位和64位的问题
  18. 电竞级还带主动降噪,莱仕达X2无线蓝牙耳机实测,品控值得安利
  19. UE4 将项目压缩成最小的Zip压缩包
  20. windows 总是弹出 windows installer 安装,关不了的解决方法

热门文章

  1. 四款实至名归的手机APP,每一个都很适合大学生哦!
  2. [Python自动化]用Python开发自动化测试脚本
  3. 服务器刷怪塔制作方法,我的世界简易刷怪塔制作方法
  4. 【OpenCV入门教程之一】 安装OpenCV OpenCV 3 0 OpenCV 2 4 8 OpenCV 2 4 9
  5. vertx源码_Vert.x(vertx) 认证和授权
  6. vertx 异步编程指南 step7-保护和控制访问
  7. Java学习预科阶段
  8. 会议记录错别字太多?记住四个会议记录校对的高效方法
  9. 这辈子我碌碌无为到头一定会遗憾这一生
  10. 怎样避免网站存在逻辑漏洞