Python 中的 Bokeh 简介
Python 提供了许多数据可视化模块,以满足日益增长的需求。Bokeh 在其中脱颖而出,因为它能够开发引人入胜的故事。本文介绍了 Bokeh,详细介绍了如何安装它,列出了它的功能,并深入研究了实际应用程序以突出其强大的可能性。
了解 Bokeh
一个名为 Bokeh 的 Python 包使创建可扩展且交互式的可视化效果以在 Web 浏览器中使用变得更加容易。由于其适应性,Bokeh 是各种行业的有效工具,包括工程、金融和数据科学。
安装 Bokeh
如果您的 Python 环境尚未安装 Bokeh,则可以使用 pip 命令安装它:
pip install bokeh
Bokeh 动手实践:实际示例
为了更好地理解如何使用 Bokeh 构建交互式图表,让我们深入研究一些实际示例。
示例 1:创建简单的线图
在 Bokeh 中,可以使用 figure 函数和 line 技术来生成简单的线图。以下是一个示例:
from bokeh.plotting import figure, show # 示例数据 x = [1, 2, 3, 4, 5] y = [6, 7, 2, 3, 6] # 创建新图 p = figure(title="简单线条示例", x_axis_label='x', y_axis_label='y') # 添加线条渲染器 p.line(x, y, legend_label="Temp.", line_width=2) # 显示结果 show(p)
示例 2:使用 Bokeh 绘制散点图
此外,bokeh 还提供了一种绘制散点图的简单方法。以下是操作方法:
from bokeh.plotting import figure, show from bokeh.models import HoverTool # 示例数据 x = [1, 2, 3, 4, 5] y = [6, 7, 8, 7, 3] # 创建新图 p = figure(title="简单散点图示例", x_axis_label='x', y_axis_label='y', tools="hover,pan,reset,wheel_zoom") # 添加悬停工具 hover = p.select(dict(type=HoverTool)) hover.tooltips = [("Index", "$index"), ("(x,y)", "($x, $y)"),] # 添加圆形渲染器 p.circle(x, y, size=10, alpha=0.5) # 显示结果 show(p)
Bokeh 提供的众多交互式工具之一是 HoverTool,此示例包含该工具。
示例 3:使用 Bokeh 的条形图
Bokeh 可以生成条形图和其他不同类型的图表。这是一个简单的例子:
from bokeh.plotting import figure, show from bokeh.io import output_file from bokeh.models import ColumnDataSource # 准备一些数据 data = {'fruits': ['Apples', 'Pears', 'Nectarines', 'Plums', 'Grapes', 'Strawberries'], 'counts': [5, 3, 4, 2, 4, 6]} source = ColumnDataSource(data=data) # 创建一个新图 p = figure(x_range=data['fruits'], plot_height=250,toolbar_location=None, title="Fruit Counts") # 添加条形渲染器 p.vbar(x='fruits', top='counts', width=0.9, source=source, legend_label="fruits") # 自定义图表 p.xgrid.grid_line_color = None p.y_range.start = 0 p.y_range.end = 9 p.legend.orientation = "horizontal" p.legend.location = "top_center" # 显示结果 show(p)
在此图中,我们制作了一个简单的垂直条形图来显示各种水果的数量。水果类型在 x 轴上表示,而其数量显示在 y 轴上。使用 Bokeh 的 ColumnDataSource 可以更轻松地在众多图表和小部件之间传输数据。
结论
在 Python 生态系统中,Bokeh 是构建复杂且交互式可视化的重要工具。数据分析师和科学家之所以喜欢它,是因为它能够管理庞大的数据集并生成高质量的可视化效果。
本页提供了 Bokeh 的基本概述,但只是触及了可能性。Bokeh 还提供许多其他功能,例如流数据、不同区域的地图以及利用 Bokeh 服务器构建完全交互式数据应用程序的能力。
学习 Bokeh 为强大的数据叙述和显示铺平了道路。与任何工具一样,练习和试验各种绘图类型和 Bokeh 的交互式功能是学习如何有效使用它的最佳方式。