Bokeh 中的标签

pythonserver side programmingprogramming更新于 2024/1/25 11:33:00

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 图表。


相关文章