circos 中堆积柱状图的画法

2020-05-10 10:23:24 浏览数 (1)

在之前的文章,我们介绍了如何使用histograms来构建普通的柱状图,今天看下如何构建堆积柱状图。

先来看一个堆积柱状图的例子

对应的数据如下:

和普通的柱状图相比,堆积柱状图只不过是第4列有多个value, 多个value 之间用逗号分隔。

配置文件的写法如下:

大部分属性和常规的柱状图是完全一样的,需要注意的是其赋值的写法。比如fill_color, 可以看到是逗号连接的5个颜色。对应file中的5个value。

对于fill_colorthickness这两个属性来说,其值既可以是一个值,也可以是逗号连接的多个值。其值为一个是,代表所有的柱子属性都一样;为多个值时,用逗号连接,每个柱子对应一个属性;如果属性个数比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的作用就是设置填充的样式,比如斜线填充等样式。

0 人点赞