circos 可视化手册-histograms篇

histograms可以看做是line plot的一个变种,首先来看一个示例


图中最内圈的就是historgams了,可以看到由许多个柱子组成,每个柱子都是file中定义的一个区域,柱子的高度由这个区域的value决定。所有的柱子共有两个方向,一部分朝内,另外一部分朝外。

这个图片对应的数据如下:

可以看到value的值有正有负,当同时包括了正负数时,所有正数的柱子是一个方向,负数的柱子是另外一个方向。以上这些都是默认行为。

下面看一个最基本的配置文件的例子

r0, r1, maxmin这些属性在之前的文章中已经详细解释过,今天主要看下histogram独有的几个参数

1. extend_bin

每个bin的区间是在file文件中事先定义好的, extend_bin控制是否把相邻的bin连接起来, 比如对于下面这个数据

可以看到这3个区间是有一定间隔的,默认情况下,在图上对应的bin肯定是不连续的;当设置了extend_bin = yes之后,会将这3个bin连在一起。

具体的做法就是延伸file中定义好的区间,比如前2个bin之间有间隔,取这个间隔的中间点的位置,作为第一个bin的终止位置,第2个bin的起始位置,这样两个bin就连接起来了。

看一个案例

图中的两个histogram基于相同的数据,当extend_bin = no时,按照file中定义的区间来画,可以看到区间并不是连续的;当extend_bin = yes时,所有的bin都变成连续的了。

改变了file文件中定义的区间,通常情况下, 不太推荐使用extend_bin = yes

2. 颜色相关的属性

histogram中,和颜色相关的共有以下4个属性

  1. color
    线条的颜色

  2. fill_color
    bin的填充色

  3. background_color
    bin的背景色

  4. fill_under
    fill_under = yes 时,background_color作为bin的填充色,fill_color作为线条的颜色,会覆盖color定义的值


另外一个需要掌握的就是定义多种颜色的技巧,以最常用的fille_color为例,主要有两种方式:

1. 设置多个条件

根据某个阈值将value划分成不同的部分,每个部分通过rule定义不同的填充色

2. 设置一个条件

condition = 1表示这个rule一直发挥作用,类似编程中的while(1), 永远为真。这里的fill_color的值通过一个表达式来定义。

remap_int函数根据value在区间[-1, 1]的位置, 映射到[1,9]区间中,生成一个1到0之间的整数,然后通过sprintf函数定义颜色为spectral-9-div调色板中的一个颜色。

spectral-9-div这个调色板是在/etc/brewer.all.conf文件中定义的

在该文件中,还定义了其他颜色的调色板,中间的数字代表了调色板中的颜色总数,可以根据需要选择合适的调色板。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 简介 文章较长,点击直达我的博客,浏览效果更好。本文内容基本是来源于STHDA,这是一份十分详细的ggplot2使...
    taoyan阅读 51,657评论 7 159
  • 通过ideogram和ticks这两个block, 我们能够把全部的染色体信息绘制在circos 图片中,但是染色...
    生信修炼手册阅读 2,466评论 0 6
  • 惊蛰,古称“启蛰”,是二十四节气中的第三个节气,标志着仲春时节的开始;太阳到达黄经345°时。《月令七十二候集解》...
    微笑如你_阳光未眠阅读 280评论 0 0
  • 其一·春 杏花微雨渐黄昏, 掠面春风散僻村。 勤汉黄牛归去早, 麦苗杨柳曳烧云。 其二·夏 清荷杳杳彩蝶忙, 绿树...
    易清幽阅读 1,089评论 21 6
  • 为什么在智商、情商、机遇、大环境都差不多的情况下,有的人就能够稳步前进,活得越来越精彩,而有的人却总是失败呢? 保...
    芬芳那年阅读 920评论 0 0

友情链接更多精彩内容