2015-04-02 59 views
0

我正在尝试在散景中创建散热图的图例。我决定创建一个独立的图表,这将是我的热图右侧的最好方法,因为有很多自定义计算。我有下面的代码,但由于某种原因,只有前两种颜色显示。我似乎无法找到问题所在。另外,如何在此图表中显示自定义标签而不是y轴值?例如,如何在y轴上显示'Label_1'来代替'1'?散热图传说

感谢

from bokeh.plotting import ColumnDataSource, figure, output_file, show 
import numpy as np 
from collections import OrderedDict 

color = [] 
val = [] 

color.append('rgb(255,255,255)') 
val.append('1') 
color.append('rgb(204,229,255)')  
val.append('2') 
color.append('rgb(153,204,255)')  
val.append('3') 
color.append('rgb(102,178,255)')  
val.append('4') 
color.append('rgb(51,153,255)') 
val.append('5') 
color.append('rgb(0,128,255)') 
val.append('6') 
color.append('rgb(0,102,204)')     
val.append('7') 
color.append('rgb(0,25,51)') 
val.append('8') 

source = ColumnDataSource(
    data=OrderedDict(color=color,val=val)) 

p = figure(title=None,x_range=[0,1], y_range=val) 

p.rect([0,1], 'val', 1, 1, source=source, color='color') 

p.plot_width = 100 
p.plot_height = 500 

p.grid.grid_line_color = None 
p.axis.axis_line_color = None 
p.axis.major_tick_line_color = None 
p.axis.major_label_text_font_size = "9pt" 
p.axis.major_label_standoff = 0 
p.xaxis.major_label_orientation = np.pi/2 

show(p) 

output_file('heatmap_legend.html') 

回答

0

这是与酒吧的 '高度' 的问题。您需要为传递给Bokeh的数组中的每个元素指定高度1。