如何调整散热图的宽度并去除周围的空白区域

问题描述 投票:0回答:1

我想改变热图单元格的宽度,使其尺寸为方形(偶数)。理想情况下,单元格小而方形,因此我可以只使用一列数据来容纳多个热图。我想重现这样的事情:

nice heatmap

我当前的代码使得一个热图太宽,并且有很多空白区域,以及一个切断底部单元格的奇怪的y位置。不知道发生了什么事。谢谢。 bokeh heatmap

def genHeatMap():
colours = ['#67d33d',
 '#76d74f',
 '#84da5f',
 '#91de6e',
 '#9ce17b',
 '#a6e488',
 '#b1e795',
 '#bbeaa1',
 '#91de6e',
 '#9ce17b']
values = [1.0,
 0.17647058823529413,
 0.08021390374331551,
 0.04054054054054054,
 0.06,
 0.07894736842105263,
 0.07317073170731707,
 0.05813953488372093,
 0.1320754716981132,
 0.0]
y_labels=['103', '134', '140', '185', '235', '292', '299', '431', '566', '659']
y = list(range(10)) 
x = ['a'] * 10 
df = {'xs':x,'ys':y,'value':values,'colour':colours,'labels':y_labels}
p = figure(x_range='a',y_range=y_labels,plot_width=300,plot_height=300,
          tooltips = [('CSID', f'@labels-103'), ('Tanimoto', '@value')])
p.rect('xs', 'ys', width=1, height=1, source=df,color='colour', line_color="black")
p.toolbar.logo = None
p.min_border_bottom = 20
p.min_border_left = 0
p.min_border_right = 0
p.min_border_top = 0
p.xaxis.major_tick_line_color = None 
p.xaxis.minor_tick_line_color = None 
p.xaxis.major_label_text_font_size = '0pt'
return p
python-3.x bokeh heatmap
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.