天天看点

circos 可视化手册-histograms篇

histograms

可以看做是

line plot

的一个变种,首先来看一个示例

circos 可视化手册-histograms篇

图中最内圈的就是

historgams

了,可以看到由许多个柱子组成,每个柱子都是

file

中定义的一个区域,柱子的高度由这个区域的

value

决定。所有的柱子共有两个方向,一部分朝内,另外一部分朝外。

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

circos 可视化手册-histograms篇

可以看到

value

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

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

circos 可视化手册-histograms篇

r0

,

r1

,

max

min

这些属性在之前的文章中已经详细解释过,今天主要看下

histogram

独有的几个参数

1. extend_bin

每个

bin

的区间是在

file

文件中事先定义好的,

extend_bin

控制是否把相邻的

bin

连接起来, 比如对于下面这个数据

circos 可视化手册-histograms篇

可以看到这3个区间是有一定间隔的,默认情况下,在图上对应的

bin

肯定是不连续的;当设置了

extend_bin = yes

之后,会将这3个bin连在一起。

具体的做法就是延伸

file

中定义好的区间,比如前2个

bin

之间有间隔,取这个间隔的中间点的位置,作为第一个bin的终止位置,第2个bin的起始位置,这样两个

bin

就连接起来了。

看一个案例

circos 可视化手册-histograms篇

图中的两个

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. 设置多个条件

circos 可视化手册-histograms篇

根据某个阈值将

value

划分成不同的部分,每个部分通过

rule

定义不同的填充色

2. 设置一个条件

circos 可视化手册-histograms篇

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

文件中定义的

circos 可视化手册-histograms篇

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