HISTOGRAMS 柱状图 条形图
基本设置与前两节类似,此处
type=histgram
文件格式:
hs1 1000 2000 0.5
整个区间都将被填充value=0.5
延伸条形图
我们可以通过设置:
extrnd_bin = yes
来延伸条形图。该bin的左侧和右侧将扩展到此端口和相邻bin之间的中间点,这个设置在默认情况下是开启的。但在有的时候你可以手动关闭(比如你想要区分那些没有数据的区域) 例如:
hs1 1000 2000 0.5 hs1 5000 5500 0.25 hs1 9000 9250 0.75
中间的bin 5000-5500的左边将扩展到avg(2000,5000)= 3500,右边的avg(5500,9000)= 7250。 因此,即使数据跨度不连续,直方图跟踪将在三个分区之间是连续的。
对于数据特别密集的情况还是建议使用折线图
处理过多数据点的问题
无论您是创建位图还是SVG图像,在图像上可绘制的量都比可以解决的要少得多。 例如,如果您的ideogram半径为1000像素,则表意符号上的圆周大约为6000像素。因此,您只有6000个可区分的位置可以绘制数据(例如散点图,线条图,直方图等)。但是如果您的数据集样本的位置比此最大可解析数例如,在1,000,000个不同数据在12,000个可区分位置上)那么很有可能会出现:
- (a)数据点或线将彼此堆叠和闭合
- (b)Circos会耗尽内存。 (Circos数百万数据输入)
为了更好地管理Circos中的大型数据集,您可以编写一个在数值倍数(例如100kb)位置规则。然而,Circos仍将读取所有数据值,并尝试将其存储在内存中。
skip_run
为避免读取所有数据,请使用skip_run和min_value_change参数。 skip_run参数设置时,只能使Circos只读取具有相同值的连续点集的第一个数据点。例如:
<plot>
skip_run = yes
...
</plot>
# data input
chr1 100 200 0.25 # read in
chr1 200 300 0.1 # read in
chr1 300 400 0.1 # not read in
chr1 400 500 0.1 # not read in
chr1 500 600 0.1 # not read in
chr1 600 700 0.3 # read in
最小变化:
要求读入的第n个值必须至少与读入的第(n-1)个值的min_value_change值相差(绝对差异)。例如,
<plot>
min_value_change = 5
...
</plot>
# data input
chr1 100 200 1 # read in
chr1 200 300 2 # not read in (difference = 1 < 5)
chr1 300 400 5 # not read in (difference = 4 < 5)
chr1 400 500 6 # read in (difference = 5 >= 5)
chr1 500 600 3 # not read in (difference = 3 < 5)
chr1 600 700 13 # read in (difference = 7 >= 5)
chr1
但是这样做也许会造成一些问题,比如这里从6——3——13的变化可能意味着某种反常现象,按道理来说不应该忽略。所以这种skip的办法不是万能的,建议在导入数据值之前先对数据进行处理。
设置坐标轴
如果不使用最小/最大值指定轴范围,则轴将被缩放以跨越数据的全部范围。 您可以显式设置轴范围。 例如:
min=-1
max=0
隐藏数据
上面的做法是通过隐藏一部分的坐标轴来达到隐藏数据。但有时我们希望显示完整的坐标轴又隐藏一部分特定的数据,我们可以这样:
<rules>
<rule>
condition = var(value) < 0
show = no
</rule>
</rules>
条形图朝向问题:
orientation = in
注意默认是朝外的
填充条形图:
fill_color=red
注意延伸的条形之间不会出现线条
官方conf here