散景:vbar没有更新,但是圈子做了

时间:2018-03-09 15:01:40

标签: python data-visualization bokeh

我用散景0.12.13构建一个简单的绘图,并使用滑块动态更新。一切都很好地与圈子,但不是与vbar,我不明白为什么。 见下面的代码

def update_title(attrname, old, new):
    ''' Update figure title when text box changes'''
    plot.title.text = text.value

def update_data(attrname, old, new):
    ''' Update graph using a slider '''
    # Get the current slider values
    q = quantile.value
    # Generate the new curve
    X = np.array(range(len(sample_data[q].Index)))+0.35
    Y = sample_data[q].Index_reported_Rate
    source.data = dict(x=X, y=Y)

text = TextInput(title="title", value='Enter text')
quantile = Slider(start=0, end=5, value=1, step=1, title="quantile")

X = sample_data[0].Index.values
Y = sample_data[quantile.value].Index_reported_Rate.values
source = ColumnDataSource(data=dict(x=X, top=Y))
# Source below works for circles
# source_c = ColumnDataSource(data=dict(x=X, y=Y))

# Definition of the figure
plot = figure(plot_width=500,
              plot_height=500,
              x_axis_label=selected_factor,
              x_range=sample_data[quantile.value].Index.values,
              title="Figure"
              )

plot.circle(x='x',
            y='y',
            source=source_c,
            size=20
            )

### Set up callbacks
text.on_change('value', update_title)
quantile.on_change('value', update_data)

### Set up layouts and add to document
inputs = widgetbox(text, quantile)
curdoc().add_root(row(inputs, plot, width=500))
curdoc().title = "Sliders"

所以这段代码完全正常(除了我还不能更新轴)但是如果我用如下所示的vbar替换plot.circle,那么它就不起作用了。 通过"不工作",我的意思是当我运行服务器时,图形会显示条形图,但滑动滑块时值不会改变....

plot.vbar(x='x',
          top='top', 
          source=source,
          width=0.25,
          bottom=0,         
          color='red'
          )

0 个答案:

没有答案