我正在尝试为散景中的热图创建一个图例。我决定创建一个单独的绘图,它位于我的热图的右侧是最好的方法,因为有很多自定义计算。我有以下代码但由于某种原因只显示前两种颜色。我似乎无法找到问题所在。另外,如何在此图表中显示自定义标签而不是y轴值?例如,我如何显示' Label_1'代替' 1'在y轴上?
由于
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 :(得分:0)
这是酒吧'高度'的问题。您需要为传递给Bokeh的数组中的每个元素指定高度1。