天天看點

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篇

在該檔案中,還定義了其他顔色的調色闆,中間的數字代表了調色闆中的顔色總數,可以根據需要選擇合适的調色闆。