配置文件语法(再续)
7 颜色
在主配置文件中导入 etc/colors_fonts_patterns.conf
文件
# circos.conf
<<include etc/colors_fonts_patterns.conf>>
...
而 etc/colors_fonts_patterns.conf
文件又导入 etc/colors.conf
文件,该文件对颜色进行了配置
# etc/colors.conf
# primary RGB colors
...
# Brewer palettes
# see etc/colors.brewer.conf
<<include colors.brewer.conf>>
# UCSC genome browser human chromosome colors
# see etc/colors.ucsc.conf
<<include colors.ucsc.conf>>
# HSV pure colors
# see etc/colors.hsv.conf
<<include colors.hsv.conf>>
7.1 使用颜色
使用 RGB
值或者颜色名设置
# using RGB values
color = 107,174,241
# using name
color = blue
如果在数据文件中设置颜色,RGB
值需要用 ()
包裹
# using a color name
chr1 100 200 chr2 200 250 color=blue,thickness=2
# using RGB value
chr1 100 200 chr2 200 250 color=(107,174,241),thickness=2
7.2 颜色名
# pure orange
porange = 255,127,0
# dark pure orange
dporange = 234,110,0
# points to Brewer color...
orange = oranges-7-seq-4
# ...which is defined in colors.brewer.conf as
oranges-7-seq-4 = 253,141,60
7.3 颜色名语法
通常给定一个颜色的根名字(如 orange
),相应的带有阴影的颜色会带有前缀:d
代表 (dark
),l
代表 (light
)
不同的阴影强度可以用带有一个或多个 v(very)
来表征
这些阴影颜色指向 Brewer
调色板中的连续颜色,如
vvlorange = oranges-7-seq-1
vlorange = oranges-7-seq-2
lorange = oranges-7-seq-3
orange = oranges-7-seq-4
dorange = oranges-7-seq-5
vdorange = oranges-7-seq-6
vvdorange = oranges-7-seq-7
在 colors.brewer.conf
文件中,定义为
oranges-7-seq-1 = 254,237,222
oranges-7-seq-2 = 253,208,162
oranges-7-seq-3 = 253,174,107
oranges-7-seq-4 = 253,141,60
oranges-7-seq-5 = 241,105,19
oranges-7-seq-6 = 217,72,1
oranges-7-seq-7 = 140,45,4
如果你要要 纯色、饱和点的颜色,可以加前缀 p
vvlporange = 255,182,106
vlporange = 255,164,82
lporange = 255,146,54
porange = 255,127,0
dporange = 234,110,0
vdporange = 213,92,0
vvdporange = 193,75,0
7.4 Brewer 颜色
Brewer
颜色分为三种调色板类型
- 连续
- 发散
- 定性
而每种类型又有许多调色板,如(红、绿、蓝)
每个调色板又可以有不同的数值的颜色(如,3,4,5)
Brewer
颜色名语法:
palettename-ncolors-palettetype-index
每种颜色的 palette names
有:
# sequential (-seq-) (3-9 colors)
blues
bugn
bupu
gnbu
greens
greys
oranges
orrd
pubu
pubugn
purd
purples
rdpu
reds
ylgn
ylgnbu
ylorbr
ylorrd
# diverging (-div-) (3-11 colors)
brbg
piyg
prgn
puor
rdbu
rdgy
rdylbu
rdylgn
spectral
# qualitative (-qual-) (3-8 colors, some up to 12 colors)
accent (3-8 colors)
dark2 (3-8 colors)
paired (3-12 colors)
pastel1 (3-9 colors)
pastel2 (3-8 colors)
set1 (3-9 colors)
set2 (3-8 colors)
set3 (3-12 colors)
如:puor-9-div-1, puor-9-div-2, ..., puor-9-div-9
7.5 HSV 颜色
HSV
定义颜色方式:hsv(h,s,v)
red = hsv(0,1,1)
所有纯色 HSV
(s=1,v=1
)定义在 colors.hsv.conf
配置文件中
hue000 = hsv(0,1,1)
hue001 = hsv(1,1,1)
...
hue359 = hsv(359,1,1)
hue360 = hsv(360,1,1) # same as hue000
7.6 颜色透明度
设置透明度 alpha
# 0 < alpha < 1
# 0 完全不透明
# 1 完全透明
red_faint = 255,255,255,0.8
# or alpha 0-127
# 0 完全不透明
# 127 完全透明
red_also_faint = 255,255,255,102
可以设置 alpha
在 [0,1]
之间,或者 [0,127]
7.7 全透明
可以通过设置颜色名 transparent
,来设置全透明的颜色
可以用 RGB
值来设置,但是要确保这个值你不会在别处用到
# in color.conf
transparent = 1,0,0
透明颜色将使用名为 transparent
的颜色,其同义词 clear
也可以,如用来设置背景色
<image>
...
background = transparent # 'clear' also works here
...
</image>
注意:transparent
和 clear
是保留的颜色名字,不要将这两个名字用于其他颜色
7.8 颜色同义词
可以对一个颜色定义同义词,即通过有其他颜色名来定义一个颜色,而不需要使用 RGB
或者 RGBA
值
favourite = green
almost_favourite = orange
...
green = 51,204,94
orange = 255,136,0
注意:不要重复定义,落入无限循环之中,会引发错误
# don't do this
favourite = green
green = favourite
7.9 颜色列表
可以通过逗号分隔方式连接现有的颜色名来定义一个颜色列表
red_list = dred,red,lred,vlred
还有更方便的,就是用正则表达式。会自动对值进行排序,可以将表达式包裹在 rev()
函数中,表示逆序
例如,生成一个包含 9
色的颜色列表
spectral9 = spectral-9-div-(\d+)
逆序
spectral9r = rev(spectral-9-div-(\d+))
颜色列表主要用于绘制热图
7.10 Brewer 颜色板列表
所有的 Brewer
颜色版列表都已经预定义了,存储在 etc/brewer.lists.conf
文件中
对于给定的颜色 name-ncolors-type-index
,包含两个颜色列表
-
name-ncolors-type
: (e.g. reds-8-seq = reds-8-seq-1,reds-8-seq-2,...
) -
name-ncolors-type-rev
: 逆序(e.g. reds-8-seq-rev = reds-8-seq-8,reds-8-seq-7,...
)
# sequential
blues-6-seq
bugn-6-seq
bupu-6-seq
gnbu-6-seq
greens-6-seq
greys-6-seq
oranges-6-seq
orrd-6-seq
pubu-6-seq
pubugn-6-seq
purd-6-seq
purples-6-seq
rdpu-6-seq
reds-6-seq
ylgn-6-seq
ylgnbu-6-seq
ylorbr-6-seq
ylorrd-6-seq
# diverging
brbg-6-div
piyg-6-div
prgn-6-div
puor-6-div
rdbu-6-div
rdgy-6-div
rdylbu-6-div
rdylgn-6-div
spectral-6-div
# qualitative
accent-6-qual
dark2-6-qual
paired-6-qual
pastel1-6-qual
pastel2-6-qual
set1-6-qual
set2-6-qual
set3-6-qual
上述颜色列表有对应的逆序版本,如 spectral-6-div
对应 spectral-6-div-rev
颜色列表存储在 etc/colors.brewer.lists.conf
文件中,会通过 etc/colors.brewer.conf
导入
因此,导入了 Brewer
颜色,就已经自动导入了所有 Brewer
颜色列表
7.11 染色体颜色方案
下面一组以染色体名字命名的颜色,这一配色方案与 UCSC
数据库染色体配色方案是一致的
chr1 = 153,102,0
chr2 = 102,102,0
chr3 = 153,153,30
...
chrX = 153,153,153
chrY = 204,204,204
另一种定义颜色集的方式
gpos100 = 0,0,0
gpos = 0,0,0
gpos75 = 130,130,130
gpos66 = 160,160,160
gpos50 = 200,200,200
gpos33 = 210,210,210
gpos25 = 200,200,200
gvar = 220,220,220
gneg = 255,255,255
acen = 217,47,39
stalk = 100,127,164
7.12 定义自己的颜色
强烈建议把新定义的颜色放在单独的文件中
例如,定义自己的蓝色
# in mycolors.conf
niceblue = 17,111,227
使用
# 默认颜色
<<include colors_fonts_patterns.conf>>
# 添加自定义颜色到 块中
<colors>
<<include mycolors.conf>>
</colors>
快速定义
# 默认颜色
<<include colors_fonts_patterns.conf>>
# 添加自定义颜色到 块中
<colors>
<<include mycolors.conf>>
niceblue2 = 37,101,179
</colors>
网友评论