散景中的限制轴

时间:2019-02-22 15:45:27

标签: python bokeh

我希望能够限制分类轴,并且仅显示前n个因子。我最初想使用范围工具,但是由于需要x_range的Range1d,因此我放弃了。这是我开始的基本代码:

cats = ['A','B','C','D','E','F','G','H','I','J']
df = pd.DataFrame(data={
    'cat': cats,
    'y': np.random.randint(100, size=len(cats)),
})

p = figure(x_range=df['cat'])
p.vbar(x='cat', top='y', width=0.9, source=df)

l = layout([[p]])

show(l)

似乎

p.x_range = FactorRange(start=0, end=4)

将显示该范围内的前五个因素,但这给了我这个错误:

  

RuntimeError:FactorRange.start是只读属性

谢谢

1 个答案:

答案 0 :(得分:1)

FactorRange未配置数字开始/结束,而是配置了要显示的因子列表:

p.x_range = FactorRange(factors=['A', ...])

《用户指南》中有一整章涵盖了处理分类数据:

https://bokeh.pydata.org/en/latest/docs/user_guide/categorical.html

请注意,如果您在范围内已经存在之后(例如,通过回调等)更新一系列因素,则应该设置现有范围的factors属性,而不是创建一个全新的FactorRange