如何在 Bokeh 中设置坐标轴限制?
Bokeh 是一个内置的 Python 库,用于创建高度交互式的数据可视化图形。通常,Web 开发人员使用此库来构建功能强大的仪表板、实时应用程序以及简单的 Web 图表。在 Python 中,我们有一些 Bokeh 内置函数,例如 figure()、vbar()、y_range() 等,用于设置 Bokeh 的坐标轴限制。各种领域都使用此库,例如数据科学家、数据工程师和 Web 开发人员。
语法
以下语法在示例中使用:
figure()
figure 是 Bokeh 库的内置方法,它是 plot 的一个子类,用于创建绘图。
vbar()
vbar() 是一个内置方法,它遵循 Bokeh 库,并通过渲染具有给定中心坐标的垂直条形来显示结果。
grid_line_color()
这是 Bokeh 库中网格的公共数据属性,用于设置网格线的颜色。
y_range()
y_range() 遵循来自 bokeh.models 内容的 Range1d 模块,允许我们设置坐标轴的起点和终点。
line()
line() 方法使用一些参考参数(如 line_width 和 color)来设置图形的线条。
安装要求:
pip install bokeh
此命令安装 Bokeh 库所需的所有依赖项。
示例 1
在以下示例中,首先从 bokeh.plotting 内容中导入模块 **figure、show**。然后我们有两个轴 - factors(表示不同字符的列表)和 x(表示 x 轴)。接下来,使用内置函数 figure(),它接受名为 y_range 的参数,其值为 factors 以设置 y 轴的范围,并将其存储在变量 plot_ax 中。接下来使用内置方法 circle 作为对象引用,变量为 plot_ax,它为坐标轴设置点圆圈。最后,它使用 show 函数,该函数接受名为 plot_ax 的参数以获取结果。
from bokeh.plotting import figure, show factors = ["a", "b", "c", "d"] x = [25, 37, 80, 60] plot_ax = figure(y_range=factors) plot_ax.circle(x, factors, size=15, fill_color="orange", line_color="green", line_width=3) show(plot_ax)
输出
示例 2
在以下示例中,首先,从 bokeh.models 内容中导入名为 Range1d 的模块。然后在变量 fig 中使用函数 figure,通过使用两个参数 **plot_width** 和 **plot_height** 来设置图形的绘图长度。接下来,在变量 fig 中设置 x_range 和 y_range,并通过分配 Range1d 来设置值,这将设置 x 和 y 轴上的坐标轴限制。接下来使用 line 和 circle 作为对象添加到变量 fig 中以绘制图形。最后,我们借助内置方法 show() 打印输出,该方法接受参数 fig。
from bokeh.plotting import figure, show from bokeh.models import Range1d fig = figure(plot_width=500, plot_height=500) fig.x_range = Range1d(20, 25) fig.y_range = Range1d(35, 100) fig.line([12, 22, 33, 14, 2], [6, 7, 5, 9, 5], line_width=2, color="red") fig.circle([1, 2, 3, 4, 5], [56, 82, 10, 20, 26], size=30, color="green", alpha=0.8) show(fig)
输出
示例 3
在以下示例中,我们将展示如何设置 x 和 y 轴上的限制。对于 x 轴,它将使用内置函数 x_range,而对于 y 轴,它将使用内置函数 y_range。然后它使用另一个称为 circle 的内置函数,该函数设置为坐标轴上的点。最后,使用 show() 函数获取结果。
from bokeh.plotting import figure, show from bokeh.models import Range1d fig = figure(width=500, height=400, x_range=(0, 30)) fig.y_range = Range1d(0, 15) fig.circle([1, 2, 3, 4, 5], [2, 5, 8, 2, 7], size=10) show(fig)
输出
示例 4
在以下示例中,首先导入必要的模块。然后设置两个变量,即 products - 用于表示商品列表和 price - 设置单个商品的价格。接下来,使用内置方法 figure,它接受一些参数:
x_range - 将所有变量名称 products 列表设置为图形上 x 轴的限制。
height - 将其值设置为整数以设置图形的高度。
title - 设置主标题。
toolbar_location - 通过将值设置为 none 来固定图形的常数位置。
tools - 设置空双引号,这将固定图形的常数位置。
所有这些 figure 参数都存储在变量 p 中。然后使用 vbar() 方法设置垂直条形,该方法接受一些参数 - x(将值设置为 product 以显示图形图 x 轴上的所有商品)、top(将值设置为变量 price 以设置 y 轴上的限制)和 width(设置 Bokeh 图形宽度)。现在使用以下方法设置网格线颜色:
# import the module from bokeh.plotting import figure, show products = ['PEN', 'NOTEBOOK', 'ERASER', 'SHARPNER', 'GEOMETRY BOX', 'CHARTPAPER'] # set the axis limit price = [5, 30, 10, 12, 80, 15] p = figure(x_range=products, height=350, title="PRODUCT AND PRICE GRAPH", toolbar_location=None, tools="") p.vbar(x=products, top=price, width=0.9) p.xgrid.grid_line_color = None p.y_range.start = 0 show(p)
输出
结论
我们讨论了使用 Bokeh 模块设置 x 轴和 y 轴限制的各种方法。Bokeh 库执行高级别的数据可视化,使图形具有很强的交互性。Bokeh 的替代库有 Plotly.js、Matplotlib、Dash、D3.js 和 Tableau。