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 # Sample data x = [1, 2, 3, 4, 5] y = [6, 7, 2, 3, 6] # Create a new plot p = figure(title="simple line example", x_axis_label='x', y_axis_label='y') # Add a line renderer p.line(x, y, legend_label="Temp.", line_width=2) # Show the result show(p)
示例 2:使用 Bokeh 创建散点图
此外,Bokeh 还提供了一种简单的创建散点图的方法。以下是操作方法。
from bokeh.plotting import figure, show from bokeh.models import HoverTool # Sample data x = [1, 2, 3, 4, 5] y = [6, 7, 8, 7, 3] # Create a new plot p = figure(title="simple scatter plot example", x_axis_label='x', y_axis_label='y', tools="hover,pan,reset,wheel_zoom") # Add hover tool hover = p.select(dict(type=HoverTool)) hover.tooltips = [("Index", "$index"), ("(x,y)", "($x, $y)"),] # Add a circle renderer p.circle(x, y, size=10, alpha=0.5) # Show the result show(p)
此示例包含 Bokeh 提供的众多交互式工具之一:HoverTool。
示例 3:使用 Bokeh 创建条形图
Bokeh 可以创建条形图和其他不同类型的图。这是一个简单的示例。
from bokeh.plotting import figure, show from bokeh.io import output_file from bokeh.models import ColumnDataSource # Prepare some data data = {'fruits': ['Apples', 'Pears', 'Nectarines', 'Plums', 'Grapes', 'Strawberries'], 'counts': [5, 3, 4, 2, 4, 6]} source = ColumnDataSource(data=data) # Create a new plot p = figure(x_range=data['fruits'], plot_height=250, toolbar_location=None, title="Fruit Counts") # Add a bar renderer p.vbar(x='fruits', top='counts', width=0.9, source=source, legend_label="fruits") # Customize the plot 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 the result show(p)
在这个示例中,我们创建了一个简单的垂直条形图,以显示不同水果的数量。x 轴表示水果类型,y 轴表示水果数量。使用 Bokeh 的 ColumnDataSource 简化了在多个绘图和部件之间传输数据。
结论
在 Python 生态系统中,Bokeh 是构建复杂交互式可视化的重要工具。数据分析师和科学家们都欣赏它处理大型数据集并创建高质量可视化的能力。
此页面提供了 Bokeh 的基本概述,但它只是触及了其可能性。Bokeh 还提供许多其他功能,例如流式数据、不同区域的地图,以及使用 Bokeh 服务器构建完全交互式数据应用程序的能力。
学习 Bokeh 为强大的数据叙事和展示打开了大门。与任何工具一样,实践和尝试不同的绘图类型以及 Bokeh 的交互式功能是有效学习如何使用它的最佳方法。