Bokeh 共享 Bokeh 图表之间的 x 轴

Bokeh 共享 Bokeh 图表之间的 x 轴

在本文中,我们将介绍如何在 Bokeh 库中共享两个或多个图表之间的 x 轴。Bokeh 是一个用于创建交互式数据可视化的 Python 库,它提供了丰富的绘图工具和功能,可以帮助用户创建各种类型的图表。

通常情况下,当我们在 Bokeh 中创建多个图表时,每个图表都会有自己的独立 x 轴。但有时候我们需要让多个图表共享同一个 x 轴,这样可以更好地比较和分析数据。Bokeh 提供了一种简单的方法来实现这个需求。

阅读更多:Bokeh 教程

创建两个独立的 Bokeh 图表

我们首先创建两个独立的 Bokeh 图表,然后将它们叠加在一起。下面是一个示例代码:

from bokeh.plotting import figure, show
from bokeh.models import ColumnDataSource
from bokeh.layouts import column

# 创建数据源
source = ColumnDataSource(data=dict(x=[1, 2, 3, 4, 5], y=[3, 5, 2, 4, 6]))

# 创建第一个图表
p1 = figure(title="图表一", x_axis_label='x 轴', y_axis_label='y 轴')
p1.line('x', 'y', source=source)

# 创建第二个图表
p2 = figure(title="图表二", x_axis_label='x 轴', y_axis_label='y 轴')
p2.circle('x', 'y', source=source)

# 叠加两个图表
layout = column(p1, p2)
show(layout)

运行以上代码,我们可以看到两个独立的图表在同一个页面上显示出来。每个图表都有自己的 x 轴和 y 轴。

共享 x 轴

为了让两个图表共享同一个 x 轴,我们只需将第二个图表的 x_range 属性与第一个图表的 x_range 属性绑定在一起。下面是修改后的代码:

from bokeh.plotting import figure, show
from bokeh.models import ColumnDataSource
from bokeh.layouts import column

# 创建数据源
source = ColumnDataSource(data=dict(x=[1, 2, 3, 4, 5], y=[3, 5, 2, 4, 6]))

# 创建第一个图表
p1 = figure(title="图表一", x_axis_label='x 轴', y_axis_label='y 轴')
p1.line('x', 'y', source=source)

# 创建第二个图表
p2 = figure(title="图表二", x_axis_label='x 轴', y_axis_label='y 轴', x_range=p1.x_range)
p2.circle('x', 'y', source=source)

# 叠加两个图表
layout = column(p1, p2)
show(layout)

通过将 p2x_range 设置为 p1.x_range,两个图表之间的 x 轴就被共享了。这意味着在两个图表上进行 x 轴的缩放或平移操作时,它们将保持同步。

总结

在本文中,我们介绍了如何在 Bokeh 中共享两个图表之间的 x 轴。通过将第二个图表的 x_range 属性设置为第一个图表的 x_range,我们可以实现两个图表之间的 x 轴共享。这种功能可以帮助我们更好地比较和分析数据,在交互式数据可视化中起到很大的作用。

希望本文能对您在使用 Bokeh 创建图表时共享 x 轴有所帮助!

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

Bokeh 问答