'图'对象没有属性' vbar'

时间:2017-10-19 13:18:55

标签: python-2.7 charts jupyter bokeh attributeerror

这是我的代码,在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'

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

1 个答案:

答案 0 :(得分:0)

vbar是最近添加的。最常见的解释是您安装的Bokeh版本已经过时,您需要升级才能使用vbar。如果由于某种原因无法升级,quadrect将可用。