用散乱因子限制轴

问题描述 投票:0回答:1

我希望能够限制分类轴并仅显示前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)

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

RuntimeError:FactorRange.start是一个只读属性

谢谢

python bokeh
1个回答
1
投票

FactorRange未配置数字开头/结尾,它配置了您要显示的因子列表:

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

“用户指南”中有一章涵盖处理分类数据:

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

请注意,如果要在范围已经存在(例如从回调等)后更新因子列表,则应该更喜欢设置现有范围的factors属性,而不是创建一个全新的FactorRange

© www.soinside.com 2019 - 2024. All rights reserved.