如何仅在散景中绘制乐队?

时间:2019-02-07 14:41:36

标签: python python-3.x bokeh

散景1.0.1

python 3.6.6

我想用Bokeh绘制一个简单的Band。这是一个最小的示例:

from bokeh.plotting import (output_notebook, figure, show,
        ColumnDataSource)

from bokeh.models import Band

output_notebook()

p = figure()

source = ColumnDataSource({
        'base':[0,1,2,3],
        'lower':[1,2,3,4],
        'upper':[8,6,8,6]
        })

band = Band(base='base', lower='lower', upper='upper', 
            source=source, fill_alpha=0.5)

p.add_layout(band)
#p.scatter(x=[2,3,4], y=[5,6,8])

show(p)

这将产生一个空图(即,它不会绘制带):enter image description here

运行代码时没有错误。但是,如果我取消注释行#p.scatter(x=[2,3,4], y=[5,6,8]),我的乐队就会出现(以及一些我实际上不需要的散点)。我怎样才能只绘制乐队?

1 个答案:

答案 0 :(得分:1)

默认情况下,散景图具有配置为适合数据的自动范围。但这仅适用于像circle之类的数据字形,而不考虑诸如Band之类的注释。因此,当您绘制没有任何字形的图形时,Bokeh不知道将范围值设置为什么,因为没有要考虑的字形数据。要绘制 just 频段,您必须明确设置范围,例如:

p = figure(x_range=(0,5), y_range=(0, 10))