我正在尝试使用bokeh中的hbar构建分类图,尽管它不遵循与vbar相同的概念似乎有些奇怪。我尝试了几种变体,但仍然无法绘制数据,只得到一块空白画布。如果有人可以帮助我,将不胜感激。我在系统和在Flask中构建的Webapp中使用bokeh 1.3.4,因此它必须是此版本或更低版本(感觉有点苛刻,但这是软件要求)。我已经使用pandas_bokeh做到了,这非常简单,尽管我在情节中添加了交互性,以允许查看者玩耍,而pandas_bokeh可以完成工作,而您最终却无法正确学习它。webapp draft so far
rX = df3.index.values
xL = ['Dublin New', 'Ireland New','Dublin Existing','Ireland Existing']
labelDict = {'2010': xL, '2011': xL, '2012': xL, '2013': xL, '2014': xL,'2015': xL,'2016': xL,'2017': xL, '2018': xL}
sourceT = ColumnDataSource(data=dict(x=df3.index.values,
y=df3['Dublin New'],
y1=df3['Ireland New'],
y2=df3['Dublin Existing'],
y3=df3['Ireland Existing']))
pT = figure(y_range=FactorRange(*labelDict), plot_height=350, plot_width=550, title='Properties Transactions in Ireland', tools='pan, wheel_zoom, box_zoom, reset')
pT.hbar(y=dodge('x', -0.5, range=pT.y_range.end), height=0.3, right='y', fill_color="#FDE724", source=sourceT)
#pT.hbar(y=dodge('x', -0.25, range=pT.y_range), height=0.3, right='y1', fill_color='#35B778', source=sourceT)
show(pT)
这里是我想使用bokeh而不是pandas_bokeh复制的情节。
提前感谢您的帮助。
range
的dodge
参数的值应为实际范围:
range=pT.y_range # GOOD
您正在传递范围end
属性,它是一个数字:
range=pT.y_range.end # BAD