circos 中堆积柱状图的画法
在之前的文章,我们介绍了如何使用histograms
来构建普通的柱状图,今天看下如何构建堆积柱状图。
先来看一个堆积柱状图的例子
对应的数据如下:
和普通的柱状图相比,堆积柱状图只不过是第4列有多个value, 多个value 之间用逗号分隔。
配置文件的写法如下:
大部分属性和常规的柱状图是完全一样的,需要注意的是其赋值的写法。比如fill_color
, 可以看到是逗号连接的5个颜色。对应file
中的5个value。
对于fill_color
和thickness
这两个属性来说,其值既可以是一个值,也可以是逗号连接的多个值。其值为一个是,代表所有的柱子属性都一样;为多个值时,用逗号连接,每个柱子对应一个属性;如果属性个数比value个数少是,会自动循环。
下图中有每个bin
有5个柱子,但是fill_color
只有两个值,此时填充色的值自动循环,变成 red, black,red,black,red
。
thiockness
在堆积柱状图中有了新的用途,可以看作每个柱子边框的粗细程度,其值越大,在图中柱子之间的间隔就越大。
在下图中,可以看到随着thickness
的增大,不仅柱子之间的间隔变大了,对应的填充色的区域整体都缩小了一圈。
在堆积柱状图中,有一个独有的属性sort_bin_values
, 表示是否根据value的大小调整柱子的高度,默认值为no
, 柱子的顺序按照file
文件中指定的顺序,第一个value 对应最底部的柱子。当取值为yes
时,柱子的顺序会打乱,value
最大的柱子在最底部。示意图如下:
除了填充色之外,还可以设置pattern
属性,用法如下
pattern = vline,hline,solid,checker,solid
效果图如下:
pattern
的作用就是设置填充的样式,比如斜线填充等样式。