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 功能,并创建出令人印象深刻的可视化效果。