📜  Bokeh-注释和图例(1)

📅  最后修改于: 2023-12-03 15:29:38.183000             🧑  作者: Mango

Bokeh-注释和图例

Bokeh是一个Python图形库,可帮助开发人员创建高级,交互式,信息密集型绘图,具有动态和大规模数据。

Bokeh提供了注释和图例等常用工具,可以增强数据可视化效果。本文将介绍如何使用Bokeh来添加注释和图例。

注释

Bokeh提供了良好的注释功能,可以将文字和图形注释添加到图形中。其中,最常用的注释类型是Label和Title。

Label

Label是文本注释,可以添加到Bokeh绘图中。文本可以是字符串或用CurlyBraces包围的表达式。

Bokeh Label的样式由属性text_font、text_font_size、text_font_style和text_color决定。

下面是一个简单的示例:

from bokeh.plotting import figure, output_file, show

p = figure(title="Bokeh Label 示例")
p.line(x=[1, 2, 3, 4, 5], y=[6, 7, 2, 4, 5], line_width=2)

p.add_layout(Label(x=1, y=6, text='标签 1', render_mode='css'))

show(p)

输出结果:

Bokeh Label 示例

Title

Bokeh图的标题可以使用Title添加。 可以定义位置、文本颜色、文本大小、文本样式等属性。

Bokeh标题的样式由属性text_font、text_font_size、text_font_style和text_color决定。

下面是一个简单的示例:

from bokeh.plotting import figure, output_file, show
from bokeh.models import Title

p = figure(plot_width=400, plot_height=400, title="标题样式", toolbar_location=None)

p.line(x=[1, 2, 3, 4, 5], y=[6, 7, 2, 4, 5], line_width=2)

p.title = Title(text="Bokeh 标题", align="center", text_color="red")

show(p)

输出结果:

Bokeh Title 示例

图例

图例是一个图表中用于说明不同数据系列的说明性标记。 Bokeh提供了良好的图例支持。

在Bokeh中,图例由Legend类表示。可以将Legend添加到基于Plot的任何Bokeh图中。

下面是一个简单的示例:

from bokeh.plotting import figure, output_file, show
from bokeh.models import ColumnDataSource, Legend

output_file("legend.html")

source = ColumnDataSource(data=dict(
    x=[1, 2, 3, 4, 5],
    y=[6, 7, 2, 4, 5],
    label=['A', 'B', 'C', 'D', 'E']
))

p = figure()
p.circle(x='x', y='y', size=10, source=source, legend_field="label")

legend = Legend(items=[("label", [p.circle(x=0, y=0, fill_color="blue",
                                          line_color=None, size=10),
                                 "This is label"])], location="center")

p.add_layout(legend, "right")

show(p)

输出结果:

Bokeh 图例示例

在示例中,我们首先通过ColumnDataSource类创建数据源。然后,我们使用 legend_field参数将数据系列的名称与每个数据系列中的Circle图形相关联。 最后,我们使用Legend以及传入的元组列表来指定图例项。