Bokeh 如何在 Jupyter notebook 中获得交互式 bokeh

Bokeh 如何在 Jupyter notebook 中获得交互式 bokeh

在本文中,我们将介绍如何在 Jupyter notebook 中使用 Bokeh 库创建交互式的数据可视化图表。Bokeh 是一个强大的 Python 库,可以用于创建各种类型的交互式图表,包括散点图、线图、柱状图等。使用 Bokeh,我们可以轻松地通过数据可视化来探索和展示数据。

Bokeh 的一个主要特点是其交互性。通过添加交互式功能,用户可以与图表进行互动,例如缩放、平移和弹出详细信息等。这为数据分析和演示提供了更多的灵活性和可视化效果。

阅读更多:Bokeh 教程

准备工作

在开始之前,我们需要先安装 Bokeh 库。可以使用以下命令在终端或命令提示符中安装 Bokeh:

pip install bokeh

请确保您已经安装了 Python 和相应的包管理器(如 pip)。

创建 Bokeh 图表

在我们开始创建交互式 bokeh 图表之前,让我们先导入所需的库:

import numpy as np
from bokeh.plotting import figure, show
from bokeh.io import output_notebook

# 输出 bokeh 图表到 notebook
output_notebook()

首先,我们需要创建一个 figure 对象,该对象将用于绘制我们的图表。figure 函数接受一些可选参数,用于定义图表的大小、标题和轴等属性。

# 创建一个新的 bokeh 图表
p = figure(title="示例图表", width=800, height=400)

接下来,我们可以使用 line 方法在图表中绘制一条线。例如,我们可以创建一个简单的折线图:

# 创建一个简单的折线图
x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)

p.line(x, y, line_width=2, line_color="blue")

在这个例子中,我们使用 linspace 函数生成 x 轴上的坐标点,然后使用 sin 函数计算相应的 y 坐标点。接下来,我们使用 line 方法将线条绘制到图表上。

添加交互性

一旦我们创建了基本的 bokeh 图表,我们可以通过添加交互功能来增强它。Bokeh 提供了一系列的工具,可以用于缩放、平移、选择和弹出详细信息等。

下面是一些常用的交互工具:

  • PanTool:用于平移图表。
  • ZoomTool:用于缩放图表。
  • BoxZoomTool:用于通过框选缩放特定区域。
  • ResetTool:用于重置图表的缩放和平移。
  • HoverTool:用于在鼠标悬停时弹出详细信息。

要添加交互工具,我们可以使用 add_tools 方法:

# 添加交互工具
p.add_tools(pan_tool, zoom_tool, box_zoom_tool, reset_tool, hover_tool)

显示图表

当我们完成图表的创建和定制后,可以使用 show 函数来显示图表:

# 显示图表
show(p)

图表将在 Jupyter notebook 中显示,并且可以进行交互操作。

示例

下面是一个完整的示例,展示了如何创建一个交互式的折线图:

import numpy as np
from bokeh.plotting import figure, show
from bokeh.io import output_notebook
from bokeh.models import PanTool, ZoomTool, BoxZoomTool, ResetTool, HoverTool

# 输出 bokeh 图表到 notebook
output_notebook()

# 创建一个新的 bokeh 图表
p = figure(title="示例图表", width=800, height=400)

# 创建一个简单的折线图
x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)

p.line(x, y, line_width=2, line_color="blue")

# 添加交互工具
pan_tool = PanTool()
zoom_tool = ZoomTool()
box_zoom_tool = BoxZoomTool()
reset_tool = ResetTool()
hover_tool = HoverTool(tooltips=[("x", "x"), ("y", "y")])
p.add_tools(pan_tool, zoom_tool, box_zoom_tool, reset_tool, hover_tool)

# 显示图表
show(p)

运行以上示例代码,您将在 Jupyter notebook 中看到一个交互式的折线图。您可以使用鼠标进行平移、缩放,并通过鼠标悬停在线上来查看详细信息。

总结

本文介绍了如何在 Jupyter notebook 中使用 Bokeh 创建交互式的数据可视化图表。通过添加交互工具,我们可以更好地探索和展示数据,并进行更深入的分析。Bokeh 是一个功能强大且灵活的库,可以为我们的数据分析工作提供很多帮助。

希望本文对于理解如何在 Jupyter notebook 中获得交互式 bokeh 有所帮助。通过实践和尝试,您将能够掌握更多的 Bokeh 功能,并创建出令人印象深刻的可视化效果。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Bokeh 问答