📜  Bokeh-设置范围(1)

📅  最后修改于: 2023-12-03 14:59:32.220000             🧑  作者: Mango

Bokeh-设置范围

Bokeh是一个Python交互式可视化库,它可以帮助用户快速地创建交互式图表、仪表板和数据应用程序。对于需要将数据可视化或构建数据应用程序的开发人员而言,Bokeh是一个非常强大的工具。本文将介绍如何在Bokeh中设置范围。

设置范围

在Bokeh中,可以通过设置x_range和y_range属性来控制x轴和y轴的范围。这些属性可以设置为以下类型之一:

  • DataRange1d:将范围设置为数据的范围。
  • FactorRange:将范围设置为因子范围。
  • Range1d:将范围设置为固定的值。

下面我们将分别介绍如何使用这些类型来设置范围。

DataRange1d

DataRange1d类型将范围设置为数据的范围。它接受一个数据源作为参数,并通过数据源来确定范围。例如:

from bokeh.plotting import figure, show
from bokeh.models import ColumnDataSource, DataRange1d

source = ColumnDataSource(data=dict(x=[1, 2, 3, 4], y=[2, 4, 6, 8]))

p = figure(plot_width=400, plot_height=400, x_range=DataRange1d())

p.line(x='x', y='y', source=source)

show(p)

在这个例子中,我们使用DataRange1d类型来设置x轴的范围。由于我们没有指定范围的值,因此该范围将根据给定的数据源自动设置。因此,x轴的范围将为[1,4]。

FactorRange

FactorRange类型将范围设置为因子范围。它接受一个因子列表作为参数,并使用该列表来确定范围。例如:

from bokeh.plotting import figure, show
from bokeh.models import ColumnDataSource, FactorRange

factors = ['foo', 'bar', 'baz']

source = ColumnDataSource(data=dict(x=factors, y=[2, 4, 6]))

p = figure(plot_width=400, plot_height=400, x_range=FactorRange(factors))

p.vbar(x='x', top='y', source=source, width=0.9)

show(p)

在这个例子中,我们使用FactorRange类型来设置x轴的范围。我们将因子列表['foo', 'bar', 'baz']作为参数传递给FactorRange。因此,x轴将只显示这三个因子。如果我们想要添加新的因子,需要更新因子列表并重新绘制图表。

Range1d

Range1d类型将范围设置为固定的值。它接受两个参数:范围的开始和结束值。例如:

from bokeh.plotting import figure, show
from bokeh.models import ColumnDataSource, Range1d

source = ColumnDataSource(data=dict(x=[1, 2, 3, 4], y=[2, 4, 6, 8]))

p = figure(plot_width=400, plot_height=400, x_range=Range1d(0, 5))

p.line(x='x', y='y', source=source)

show(p)

在这个例子中,我们使用Range1d类型来设置x轴的范围。我们将范围设置为[0,5]。因此,无论数据的实际范围是什么,x轴的范围都将保持不变。

总结

在Bokeh中,可以使用x_range和y_range属性来控制x轴和y轴的范围。可以使用DataRange1d类型将范围设置为数据的范围,使用FactorRange类型将范围设置为因子范围,使用Range1d类型将范围设置为固定值。了解如何设置范围是创建交互式图表和数据应用程序的重要一步。