我有this bokeh plot,此刻的刻度表示新染色体的起始位置,该染色体共有五个染色体(因此在x轴的37位置,第三个染色体的起点和终点为53,样品y轴原理)。
我想在这些坐标之间添加额外的(次要?)分类刻度,这样会更清晰一些,有点像bokeh网站上的nested categories hvar example,但是却没有水果,而是具有染色体名称。
我有这个DFtotal
(在value
上排序)作为输入:
xmar xname ygen yname value
3368 46 c3_10996 13201 AT3G27420 3.000099
2583 36 c2_18753 9491 AT2G40440 3.000142
2650 37 c3_00580 10335 AT2G16360 3.000501
3946 57 c4_03833 16262 AT4G02830 3.000592
914 12 c1_18433 14488 AT3G55120 3.001359
这是带有染色体数据的chDF
:
chname Ymiddle Xmiddle Ystart Xstart
ch1 4461.5 11.0 0 0
ch2 11572.0 29.5 8924 23
ch3 17703.5 45.0 14221 37
ch4 23715.5 61.5 21187 54
ch5 30070.5 79.0 26245 70
我目前的绘图代码如下:
#Add tools to plot
TOOLS= "hover, pan,wheel_zoom,zoom_in,zoom_out,box_zoom,undo,redo,reset,save"
#Create empty figure
p = figure(tools=TOOLS)
#----- ADD CATEGORIAL TICKS IN THIS PART -----#
mtick = list(chDF.Xstart)
gtick = list(chDF.Ystart)
p.xaxis[0].ticker=FixedTicker(ticks = mtick)
p.xgrid[0].ticker=FixedTicker(ticks = mtick)
p.yaxis[0].ticker=FixedTicker(ticks = gtick)
p.ygrid[0].ticker=FixedTicker(ticks = gtick)
#---------------------------------------------#
#Create CDS
SOURCE = ColumnDataSource(DFtotal)
#Create palette
LCM = LinearColorMapper( palette=list(reversed(np.array(Reds9))), low =
min(DFtotal['value']),
high = max(DFtotal['value']) )
#Create plot
p.circle(x='xmar', y='ygen', source=SOURCE, fill_color={'field':'value',
'transform':LCM},
line_color={'field':'value', 'transform':LCM}, size=6, fill_alpha=0.8)
#show
output_file("test.html", title="test")
show(p)
我真的不知道如何解决这个问题