Bokeh 如何在 Python 的 Bokeh 圆形图中添加图例
在本文中,我们将介绍如何在 Python 的 Bokeh 圆形图中添加图例。Bokeh 是一个强大的数据可视化库,可以用于创建交互式和漂亮的图表。图例是在图表中标识各个数据系列的重要组成部分。通过在 Bokeh 圆形图中添加图例,我们可以更好地理解和解释数据。
阅读更多:Bokeh 教程
Bokeh 圆形图简介
Bokeh 提供了很多创建不同类型图表的工具,如圆形图、线图、柱状图等。在这里,我们将专注于 Bokeh 圆形图,并介绍如何在圆形图中添加图例。Bokeh 的圆形图非常适合用于显示离散的数据点,并可以使用不同的颜色和大小来表示数据的其他维度。
下面是一个简单的示例代码,展示了如何使用 Bokeh 创建一个简单的圆形图:
from bokeh.plotting import figure, output_file, show
# 准备数据
x = [1, 2, 3, 4, 5]
y = [1, 4, 3, 2, 5]
# 创建圆形图
p = figure(title="Bokeh 圆形图示例", x_axis_label='X轴', y_axis_label='Y轴')
# 添加圆点
p.circle(x, y, size=10, color='blue')
# 输出结果到 HTML 文件
output_file("circle_plot.html")
# 显示图表
show(p)
在这个示例中,我们首先创建了一个 figure
对象,然后使用 circle
方法在图表中添加了一些圆点。最后,我们使用 show
函数将图表显示在浏览器中。
如何添加图例
要在 Bokeh 圆形图中添加图例,我们可以使用 legend
参数来指定需要显示的图例标签。该参数接受一个列表,其中每个元素表示一个图例标签。示例如下:
from bokeh.plotting import figure, output_file, show
# 准备数据
x1 = [1, 2, 3, 4, 5]
y1 = [1, 4, 3, 2, 5]
x2 = [1, 2, 3, 4, 5]
y2 = [5, 2, 4, 1, 3]
# 创建圆形图
p = figure(title="Bokeh 圆形图示例", x_axis_label='X轴', y_axis_label='Y轴')
# 添加圆点
p.circle(x1, y1, size=10, color='blue', legend_label="数据系列1")
p.circle(x2, y2, size=10, color='red', legend_label="数据系列2")
# 输出结果到 HTML 文件
output_file("circle_plot_with_legend.html")
# 显示图表
show(p)
在这个示例中,我们创建了两个数据系列,通过传递 legend_label
参数来指定每个数据系列的图例标签。最后,我们将图表输出到一个 HTML 文件中,并在浏览器中显示。
自定义图例位置和样式
除了添加图例标签之外,我们还可以自定义图例的位置和样式。Bokeh 提供了 legend_location
参数来设置图例的位置,可以选择的值有:”top_left”、”top_right”、”bottom_left”、”bottom_right”、”center” 等,默认值是 “top_right”。示例如下:
from bokeh.plotting import figure, output_file, show
# 准备数据
x = [1, 2, 3, 4, 5]
y = [1, 4, 3, 2, 5]
# 创建圆形图
p = figure(title="Bokeh 圆形图示例", x_axis_label='X轴', y_axis_label='Y轴', legend_location="bottom_left")
# 添加圆点
p.circle(x, y, size=10, color='blue', legend_label="数据系列")
# 输出结果到 HTML 文件
output_file("circle_plot_with_custom_legend.html")
# 显示图表
show(p)
在这个示例中,我们通过将 legend_location
参数设置为 “bottom_left”,将图例位置改变为了左下角。
此外,我们还可以通过 Legend
类来进一步自定义图例的样式。例如,我们可以设置图例标题、颜色和字体大小等。下面是一个示例代码:
from bokeh.models import Legend
from bokeh.plotting import figure, output_file, show
# 准备数据
x = [1, 2, 3, 4, 5]
y = [1, 4, 3, 2, 5]
# 创建圆形图
p = figure(title="Bokeh 圆形图示例", x_axis_label='X轴', y_axis_label='Y轴')
# 添加圆点
circle = p.circle(x, y, size=10, color='blue', legend_label="数据系列")
# 创建图例
legend = Legend(items=[("数据系列", [circle])], title="图例标题")
# 添加图例到图表
p.add_layout(legend, 'right')
# 输出结果到 HTML 文件
output_file("circle_plot_with_custom_legend.html")
# 显示图表
show(p)
在这个示例中,我们首先通过前面的代码创建了一个圆形图,然后使用 Legend
类来创建了一个自定义的图例对象。我们可以通过 items
参数传递图例的标签和对应的图形对象,通过 title
参数设置图例的标题。最后,我们使用 add_layout
方法将图例添加到图表中。
总结
本文介绍了如何在 Python 的 Bokeh 圆形图中添加图例。我们可以使用 legend_label
参数来指定每个数据系列的图例标签,通过 legend_location
参数来设置图例的位置。此外,我们还可以通过自定义 Legend
对象来进一步调整图例的样式。希望本文能帮助您更好地使用 Bokeh 创建漂亮和交互式的图表。
如果您对 Bokeh 或其他 Python 数据可视化库有更多兴趣,请查看 Bokeh 的官方文档和示例代码,以进一步探索和学习。