如何在Bokeh中设置分类条形图的初始缩放范围
解决方法
不用修改x_range=fruits的设置,只需通过限定x轴范围的起始和结束位置,就能实现初始只显示前四个分类,同时保留平移、缩放查看其余分类的功能:
修改步骤
- 保持
figure初始化时的x_range=fruits不变,确保所有分类都在图表的可访问范围内。 - 在图表美化代码段中,添加两行代码设置初始显示范围:
# 初始显示前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
相关产品推荐
相关产品推荐

