在 Bokeh 中创建一个简单的范围滑块

原文:https://www . geesforgeks . org/creating-a-simple-range-slider-in-bokeh/

范围滑块小部件允许您从具有起点和终点的滑块中选择浮点范围。Bokeh 小部件范围滑块由开始和结束值、步长、初始值和标题组成。

语法:

range_slider = RangeSlider(开始、结束、值、步骤、标题)

range_slider.js_on_change(“值”,CustomJS(代码))

让我们看看创建范围滑块的过程。

  • 从 bokeh.models 导入范围滑块部件

在这一步中,我们将从 bokeh .绘图界面导入图形和显示方法。Bokeh .绘图界面允许您通过组合各种元素(如网格、轴和其他工具)来创建绘图。figure()方法允许您向绘图中添加不同类型的字形,show()方法允许您在浏览器中显示可视化效果。同样,我们从 bokeh.layouts 导入布局来创建布局对象。最后,我们正在导入范围滑块来创建一个范围滑块,并使我们的可视化交互。

  • 设置数据和图形。

在这一步中,我们将创建一个输出文件,它是一个 HTML 文件,并在浏览器的新窗口中打开。输出将显示在这个 HTML 文件中。figure 方法创建具有给定范围、高度和宽度的图形。

  • 创建范围滑块对象

语法:

范围滑块(标题、开始、结束、步骤、值)

参数:

  • 标题:表示范围滑块的标题。
  • Start :表示范围的下限,类型为 float。
  • end :表示范围的上限,类型为 float。
  • 步骤:表示数值之间的间隔,为浮点型。
  • :表示包含所选范围上下限值的元组。
  • 链接到 JavaScript

javaScript 的链接是通过使用 link_js()函数将 RangeSlider 生成的值链接到您的绘图中来提供的。

语法:

RangeSliderObject.js_link(值,p.x_range,开始/结束,attr_selector)

  • 创建所有想要在浏览器上显示的元素的布局。

最后,我们使用布局方法来显示仪表板的所有元素,并在浏览器中显示布局。

程序:

计算机编程语言

from bokeh.plotting import figure, show

from bokeh.layouts import layout
from bokeh.models import RangeSlider

x = list(range(12))
y = [i**2 for i in x]

output_file = ('range_slider.html')
p = figure(x_range=(1, 9), plot_width=600, plot_height=300)
points = p.circle(x=x, y=y, size=40, fill_color="red")

range_slider = RangeSlider(
    title=" Adjust X-Axis range",
    start=0,
    end=12,
    step=1,
    value=(p.x_range.start, p.x_range.end),
)

range_slider.js_link("value", p.x_range, "start", attr_selector=0)
range_slider.js_link("value", p.x_range, "end", attr_selector=1)

layout = layout([range_slider], [p])
show(layout)

输出: