2017-10-19 69 views
0

这是我的代码,在python 2.7,应该使用背景虚化来显示的条形图:“图”对象没有属性“直条”

from bokeh.io import show, output_file 
from bokeh.models import ColumnDataSource 
from bokeh.palettes import Spectral6 
from bokeh.plotting import figure 

output_file("Option Bundling.html") 

options= ['Option 1', 'Option 2', 'Option 1+2'] 
counts = [df3.get_value(select.value, select.value), df3.get_value(select2.value, select2.value), df3.get_value(select.value,select2.value) ] 

source = ColumnDataSource(data=dict(options=options, counts=counts, color=Spectral6)) 

p = figure(x_range=options_list, y_range=(0,1), plot_height=250, title="Option Bundling", 
     toolbar_location=None, tools="") 

p.vbar(x='options', top='counts', width=0.9, color='color', legend="Options", source=source) 

p.xgrid.grid_line_color = None 
p.legend.orientation = "horizontal" 
p.legend.location = "top_center" 

show(p) 

当尝试在Jupyter运行它,将出现以下消息:

AttributeError       Traceback (most recent call last) 
<ipython-input-29-a4eb97059982> in <module>() 
    14   toolbar_location=None, tools="") 
    15 
---> 16 p.vbar(x='options', top='counts', width=0.9, color='color', legend="Options", source=source) 
    17 
    18 p.xgrid.grid_line_color = None 

AttributeError: 'Figure' object has no attribute 'vbar' 

该代码来自散景文档,我只改变了变量。我可以改变什么使它运行?

回答

0

vbar是有点新近增加。最可能的解释是您已安装的Bokeh版本已过时,您需要升级才能使用vbar。如果因某些原因无法升级,则可以使用quadrect