You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Bokeh中设置分类条形图的初始缩放范围

解决方法

不用修改x_range=fruits的设置,只需通过限定x轴范围的起始和结束位置,就能实现初始只显示前四个分类,同时保留平移、缩放查看其余分类的功能:

修改步骤

  1. 保持figure初始化时的x_range=fruits不变,确保所有分类都在图表的可访问范围内。
  2. 在图表美化代码段中,添加两行代码设置初始显示范围:
    # 初始显示前4个分类(对应索引0到3的Apples、Pears、Nectarines、Plums)
    p.x_range.start = 0
    p.x_range.end = 3
    

完整代码

from bokeh.io import show, output_notebook
from bokeh.plotting import figure
output_notebook()

fruits = ['Apples', 'Pears', 'Nectarines', 'Plums', 'Grapes', 'Strawberries']
p = figure(x_range=fruits, plot_height=250, title="Fruit Counts")

p.vbar(x=fruits, top=[5, 3, 4, 2, 4, 6], width=0.9)

p.xgrid.grid_line_color = None
p.y_range.start = 0
# 设置初始显示范围
p.x_range.start = 0
p.x_range.end = 3

show(p)

原理

Bokeh的分类轴(FactorRange)会自动将每个分类映射为从0开始的连续整数坐标,前四个分类对应的坐标是0到3。设置start=0和end=3后,图表初始仅展示该区域,而完整的分类列表仍保留在x轴范围内,用户可以通过平移、缩放操作查看剩余的Grapes和Strawberries。

内容的提问来源于stack exchange,提问作者mang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 11:55:08