circos 学习手册(二十)

2D 数据绘制(一)

2D 数据的绘制语法与 link 类似,在 <plots> 块中每个 <plot> 块定义一个图形,包括绘制格式以及数据文件,还可以包含 <rules>

circos 支持几种类型数据的图像,像散点图、折线图、热图、直方图等。

下面我们先以散点图为例,来简单说明绘制语法

1. 散点图

我们使用的数据记录的是每 100kbSNP 密度

1.1 默认设置

每个 <plot> 都有默认的参数设置,在 etc/tracks 中定义了

# etc/tracks/scatter.conf
glyph            = circle
glyph_size       = 10
color            = grey
stroke_color     = black
stroke_thickness = 0
r1               = 0.79r
r0               = 0.7r
orientation      = out

这些设置会应用于每个类型 type=scatter<plot> 块,你可以使用 undef 取消定义

stroke_color = undef
1.2 基本散点图语法

各种二维数据类型图像的格式参数基本相同,但是会有一些例外。对于散点图,基本定义如下

<plots>

<plot>

show  = yes
type  = scatter

file  = data/6/snp.density.txt
r1    = 0.75r
r0    = 0.90r
max   = 1.0
min   = 0.0

glyph            = rectangle
glyph_size       = 8
color            = red
stroke_color     = dred
stroke_thickness = 1

</plot>

</plots>
image.png

参数含义:

  • show - 与高亮及连接一样,是否显示图像
  • type - 绘图的类型,可以使散点图、直方图、热图等
  • file - 需要绘制的数据文件
  • min/max - 绘制范围,超过范围的数据将被裁剪
  • r0/r1 - 绘制图像的内径和外径,像高亮一样,支持绝对值和相对值(也可混合使用)
  • glyph - 散点图符号的形状,可以是圆形、矩形或三角形之一
  • glyph_size - 符号的大小,像素单位
  • color - 符号的填充色
  • stroke_color - 符号的轮廓颜色
  • stroke_thickness - 符号的轮廓的厚度,像素单位

数据格式

chr start end value options

注意valuestart-end 指定的范围相关联,而不是碱基对的位置

# value 0.005 at span 1000-2000
hs1 1000 2000 0.005
# value 0.010 at span 2001-2001, e.g. a single base position
hs1 2001 2001 0.010

circos 使用数据文件的起始和结束位置,是为了保持数据与 link 文件一致。

图形符号会绘制在跨度(start-end)的中间,因此,上面的符号将会在 15002001 位置绘制

min/max 范围之外的数据点不会绘制,所以,你并不需要用规则把这些点剔除。

1.3 图像背景

r0r1 参数定义了图像的径向起始和终止位点。

你可以使用 <backgrounds> 块添加背景填充。

<backgrounds>
<background>
color = vvlgrey
</background>
</backgrounds>

通过定义多个 background 块,可以对背景填充设置条纹和分层。用 y0y1 定义填充的径向范围

<backgrounds>
<background>
color     = vlgrey
# absolute fill range
y1        = 0.5
y0        = 0
</background>
<background>
color     = vlred
# relative fill range
y1        = 1r
y0        = 0.75r
</background>
</backgrounds>
image.png
1.4 绘图轴

你可以使用 <axes> 块在绘制的图像内添加一组 y 轴网格线

<axes>
<axis>
color     = red_a5
thickness = 1
spacing   = 0.025r
</axis>
<axis>
color     = red_a3
thickness = 2
spacing   = 0.1r
</axis>
</axes>

这个轴是一系列具有固定间距的同心圆弧。间距值可以使绝对值或相对值

1.5 绘制格式规则

格式化规则的使用与 link 类似,可以在条件字段中使用 var(value) 来表示特定值的数据点。如

<rule>
condition    = var(value) > 0.5
stroke_color = dgreen
color        = green
glyph        = rectangle
glyph_size   = 6
</rule>
image.png

这一规则会将值大于 0.5 的所有点变成深绿色轮廓、绿色填充色以及大小为 6 的矩形符号

当然,你也可以在 rule 内部设置 show=no 来隐藏某些数据点

2. 折线图

折线图与散点图的不同之处在于,在每个点位置没有绘制符号,而是用线把这些点连接起来。

折线图的格式与散点图非常相似,但是有以下区别。

  • type=line
  • glyphs - 没有 glyph 参数,也就没有 glyph_size 参数
  • stroke_thicknessstroke_color 变成了 thicknesscolor
  • 距离大于 max_gap 的相邻点不会用线连接起来,避免数据中较大的间隙

min/max 数据范围之外的点防止在 min/max 极值点。因此,如果许多相邻的点落在数据范围之外,则连接线可能会沿着绘图的底部或顶部延伸

如果要从数据集中删除这些点,可以在 rule 中设置 show=no

例如,如果你的 min/max 值为 0/0.5,那么该规则将删除范围之外的点,使其不会影响绘制线条的方式

<rules>
<rule>
condition  = var(value) < 0 || var(value) > 0.5
show       = no
</rule>
</rules>
image.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

名本无名

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值