Bokeh:使用共享图例创建多个图形
在本文中,我们将介绍如何使用Bokeh创建多个图形,并使用共享图例使得图形更加清晰和易于理解。
阅读更多:Bokeh 教程
1. Bokeh简介
Bokeh是一个功能强大的Python数据可视化库,用于创建交互式和动态的图形。它支持多种图形类型和丰富的图形属性设置,可以轻松地构建各种各样的可视化图形。
2. 创建多个图形
使用Bokeh创建多个图形非常简单。首先,我们需要导入必要的库和模块:
from bokeh.io import output_file, show
from bokeh.plotting import figure
然后,我们可以创建一个或多个图形对象,并添加要显示的数据和图形属性。例如,我们可以创建两个散点图和一条折线图,并将它们添加到同一个fig对象中:
# 创建散点图1
scatter1 = figure(title="Scatter Plot 1", plot_width=400, plot_height=400)
scatter1.circle([1, 2, 3], [1, 2, 3], size=10, color="red", legend_label="Scatter 1")
# 创建散点图2
scatter2 = figure(title="Scatter Plot 2", plot_width=400, plot_height=400)
scatter2.circle([1, 2, 3], [3, 2, 1], size=10, color="blue", legend_label="Scatter 2")
# 创建折线图
line = figure(title="Line Plot", plot_width=400, plot_height=400)
line.line([1, 2, 3], [2, 2, 2], line_width=2, color="green", legend_label="Line")
# 将图形添加到共享图例的fig对象中
fig = figure(title="Multiple Figures with Shared Legend", plot_width=800, plot_height=400)
fig.add_layout(scatter1.legend[0], 'right')
fig.add_layout(scatter2.legend[0], 'right')
fig.add_layout(line.legend[0], 'right')
fig.add_layout(line.legend[1], 'right')
fig.add_glyph(line.legend[0], line.line([0], [0], line_color="red"))
fig.add_glyph(line.legend[1], line.line([0], [0], line_color="blue"))
3. 使用共享图例
为了使多个图形具有共享的图例,我们需要使用add_layout()
方法将每个图形的图例添加到同一个fig对象中。在上面的示例中,我们通过调用scatter1.legend[0]
、scatter2.legend[0]
和line.legend[0]
将散点图和折线图的图例添加到fig
对象的右侧。
此外,我们还可以使用add_glyph()
方法将每个图形的图例颜色添加到图例对象中,从而使得图例与图形的颜色一致。
最后,我们需要调用show()
方法显示图形:
output_file("output.html")
show(fig)
运行以上代码,将会生成一个名为output.html
的HTML文件,并在浏览器中打开该文件,即可看到具有共享图例的多个图形。
总结
通过Bokeh,我们可以轻松地创建多个图形,并使用共享图例使得图形更加清晰和易于理解。在本文中,我们介绍了Bokeh的基本概念和创建多个图形的方法,并示范了如何使用共享图例。希望本文能够帮助读者更好地使用Bokeh进行数据可视化。
通过以上步骤,我们可以通过 Bokeh 创建多个图形,并使用共享图例使得图形更加清晰和易于理解。希望本文能够帮助读者更好地使用 Bokeh 进行数据可视化。