当我们在日常中需要使用 Python 数据可视化时,最先想到的要数 matplotlib 和 seborn,它们几乎覆盖各种常见的可视化绘图场景,例如柱状图、折线图、饼图等,但是它们也存在短板:不适合动态和交互式绘图,而能弥补这一场景的就是我们今天介绍的一款明星可视化工具 - Bokeh,它可以绘制非常灵活的 Web 交互式可视化图表。
文档地址:docs.bokeh.org/en/latest/d...
在使用 bokeh 之前,我们可以使用 pip 安装它,但是需要注意的是,我们需要先安装 bokeh 的依赖插件,如 pandas 和 numpy,可以用于一些数据分析统计!
ruby
pip install bokeh -i https://mirrors.aliyun.com/pypi/simple/
当然 bokeh 不仅支持交互式可视化图形,它支持多种常见的图表类型,包括折线图、散点图、柱状图等。每种图表都有丰富的定制选项,可以调整颜色、大小、透明度等属性,满足不同的可视化需求。
以下我们举个简单的绘制折线图的例子,如下所示,具体逻辑都有注释在代码中
ini
from bokeh.plotting import figure, show
from bokeh.io import output_notebook
import numpy as np
# 启用 Notebook 输出
output_notebook()
# 创建数据
x = np.linspace(0, 4 * np.pi, 100)
y = np.sin(x)
# 创建图表对象
p = figure(title="Simple Sine Curve", width=400, height=400)
# 添加曲线
p.line(x, y, legend_label="sin(x)", line_width=2)
# 显示图表
show(p)

当然,Bokeh 的真正强大之处在于其交互上的能力,我们可以为图表添加工具条,实现缩放、平移、保存等功能,甚至可以添加悬停提示等。其不仅提升用户使用体验,还能让用户更加深入探索数据。
Bokeh 提供了多种内置工具,也可以自定义工具以满足特定需求。以下是为图表添加交互工具的示例:
css
from bokeh.plotting import figure, show
from bokeh.models import HoverTool
# 创建图表并添加工具
p = figure(width=400, height=400, tools="pan,box_zoom,wheel_zoom,reset,save")
# 配置悬停提示
hover = HoverTool(tooltips=[("x", "@x"), ("y", "@y")])
p.add_tools(hover)
# 添加一些示例数据
p.scatter([1, 2, 3, 4, 5], [6, 7, 2, 4, 5], size=20)
show(p)
通过以上两个实例,相信你已经掌握 Bokeh 的基本使用方法,现在就开始你的 Bokeh 之旅吧!用它来讲述你的数据故事,创造令人惊叹的可视化交互作品吧!
如果你喜欢本文,欢迎点赞,并且关注我们的微信公众号:Python技术极客 ,我们会持续更新分享 Python 开发编程、数据分析、数据挖掘、AI 人工智能、网络爬虫等技术文章!让大家在Python 技术领域持续精进提升,成为更好的自己!
添加作者微信(coder_0101),拉你进入行业技术交流群,进行技术交流~