📅  最后修改于: 2023-12-03 15:29:38.183000             🧑  作者: Mango
Bokeh是一个Python图形库,可帮助开发人员创建高级,交互式,信息密集型绘图,具有动态和大规模数据。
Bokeh提供了注释和图例等常用工具,可以增强数据可视化效果。本文将介绍如何使用Bokeh来添加注释和图例。
Bokeh提供了良好的注释功能,可以将文字和图形注释添加到图形中。其中,最常用的注释类型是Label和Title。
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图的标题可以使用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提供了良好的图例支持。
在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)
输出结果:
在示例中,我们首先通过ColumnDataSource
类创建数据源。然后,我们使用 legend_field
参数将数据系列的名称与每个数据系列中的Circle图形相关联。 最后,我们使用Legend以及传入的元组列表来指定图例项。