Bokeh 中的标签
Bokeh 是一个 Python 交互式可视化包,它提供了广泛的功能,而不仅仅是创建图表。标签是它具有的有用特性之一。借助此工具,开发人员可以对图表元素进行口头描述,从而使数据更易于理解。为了帮助读者更好地理解标签在 Bokeh 中的使用方式,本文深入探讨了该主题。
Bokeh 简介
在介绍标签之前,了解 Bokeh 的目标至关重要。Bokeh 使创建复杂的统计图表变得更容易,并有助于将数据转换为视觉上吸引人的、交互式的和可理解的图表。它以高性能交互呈现庞大或流式数据集,并且专为当前的 Web 浏览器而设计。
Bokeh 中标签的重要性
任何数据可视化都需要标签,因为它们提供了所显示数据的上下文和含义。如果没有标签,可视化效果可能不清晰,甚至可能看起来毫无意义。Bokeh 提供了多种添加和自定义标签的方法,使开发人员能够制作有趣且全面的可视化效果。
Bokeh 中的标签类型
在 Bokeh 中,标签有多种形式,包括但不限于 −
标题 图表的标题通常位于顶部,简要概述了图表的目标或它所描绘的数据。
轴标签 x 轴和 y 轴上显示的变量由轴标签标识。
图例 图例有助于识别数据中的多个类别或组。
数据标签 图表的数据点可能会被赋予文本提示或标签,称为数据标签。
注释 这些是额外的文本或标记,可为数据提供更多背景信息。
在 Bokeh 中实现标签:一个实际示例
现在我们已经了解了如何在 Bokeh 中使用标签,让我们看一些实例。
from bokeh.plotting import figure, show, output_notebook from bokeh.models import Label # 将输出初始化到笔记本 output_notebook() # 创建一个带有标题和轴标签的新图 p = figure(title="Bokeh 标签示例", x_axis_label='x', y_axis_label='y') # 向图中添加一条线 p.line([1, 2, 3, 4, 5], [6, 7, 2, 4, 5], line_width=2) # 向图中添加标签 label = Label(x=3, y=4, text="数据点(3,4)") p.add_layout(label) # 显示图表 show(p)
在上述插图中,已将标识 (3,4) 处特定数据点的标签添加到图表中。可以使用 bokeh.models 模块中的 Label 类添加此标签。
在 Bokeh 中添加多个标签
Bokeh 允许向图中添加大量标签,如下例所示:
from bokeh.plotting import figure, show, output_notebook from bokeh.models import LabelSet, ColumnDataSource # 将输出初始化到笔记本 output_notebook() # 创建带有标题和轴标签的新图 p = figure(title="Multiple Labels Example", x_axis_label='x', y_axis_label='y') # 准备一些数据 data = {'x_values': [1, 2, 3, 4, 5], 'y_values': [6, 7, 2, 4, 5], 'labels': ['Point 1', 'Point 2', 'Point 3', 'Point 4', 'Point 5']} # 创建 ColumnDataSource 对象 source = ColumnDataSource(data=data) # 向图中添加字形(圆圈) p.circle('x_values', 'y_values', size=20, source=source) # 创建 LabelSet labels = LabelSet(x='x_values', y='y_values', text='labels', level='glyph', x_offset=5, y_offset=5, source=source, render_mode='canvas') # 向图中添加标签 p.add_layout(labels) # 显示图 show(p)
在此图中,我们为各种点制作了许多标签。在数据字典中,我们首先指定点及其附带的标签。然后,使用这些信息,我们构建一个 ColumnDataSource,作为 Python 数据和 Bokeh 图形之间的管道。
LabelSet 类用于构建标签,该类使我们能够定义一组标签及其位置和文本。然后使用 add_layout 方法使用这些标签更新绘图。
在 Bokeh 中自定义标签
还可以使用 Bokeh 以多种方式更改标签,包括其颜色、文本和角度。下面给出了如何应用这些自定义的示例:
from bokeh.plotting import figure, show, output_notebook from bokeh.models import Label # 将输出初始化到笔记本 output_notebook() # 创建带有标题和轴标签的新图 p = figure(title="自定义标签示例", x_axis_label='x', y_axis_label='y') # 向图中添加一条线 p.line([1, 2, 3, 4, 5], [6, 7, 2, 4, 5], line_width=2) # 向图中添加自定义标签 label = Label(x=3, y=4, text="数据点 (3,4)", text_color="red", text_font_size="10pt", angle=30, background_fill_color="blue", background_fill_alpha=0.1) p.add_layout(label) # 显示图表 show(p)
在此图中,标签使用红色字体颜色、特定文本大小、旋转角度和部分半透明的蓝色背景填充进行个性化设置。
结论
通过理解和使用 Bokeh 中的标签,您可以制作更有用、更直观的数据可视化。标签提供了必要的背景信息,使您的可视化更加全面和富有启发性,无论您只是为图表添加标题还是为某些数据点分配特定标签。正如我们所见,Bokeh 的功能为您提供了一个多功能且强大的工具包来注释您的 Python 图表。