一款超好用的 Python 交互式可视化工具,强烈推荐~

当我们在日常中需要使用 Python 数据可视化时,最先想到的要数 matplotlib 和 seborn,它们几乎覆盖各种常见的可视化绘图场景,例如柱状图、折线图、饼图等,但是它们也存在短板:不适合动态和交互式绘图,而能弥补这一场景的就是我们今天介绍的一款明星可视化工具 - Bokeh,它可以绘制非常灵活的 Web 交互式可视化图表。

文档地址:docs.bokeh.org/en/latest/d...

代码仓库:github.com/bokeh/bokeh

在使用 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),拉你进入行业技术交流群,进行技术交流~

相关推荐
LuminousCPP8 小时前
单链表专题(四)-刷题复盘篇-LeetCode 138 随机链表复制|原地拷贝法突破复杂指针操作
数据结构·笔记·算法·leetcode·链表
逆境不可逃8 小时前
【LeetCode 912】排序数组——随机化快速排序详解
数据结构·算法·排序算法
Coder-magician8 小时前
《代码随想录》刷题打卡day31:动态规划-背包问题part02
算法·动态规划
薛定e的猫咪8 小时前
从因果视角解决多智能体协作:细读 SCIC 算法
算法
c238569 小时前
《算法武林谱:四大排序神功与二分寻宝术全解》
数据结构·算法·排序算法
一米阳光86619 小时前
软考(中级)软件设计师核心笔记(9)算法——时间复杂度与空间复杂度、查找算法、排序算法
笔记·算法·职场发展·软考·软件设计师·中级职称
Mem0rin9 小时前
二分查找:左右边界
数据结构·算法
大明者省19 小时前
WSL2 Ubuntu22.04 GPU训练环境配置指南
人工智能·算法·计算机视觉
白狐_79820 小时前
408数据结构第8章:排序②——性质对比秒杀、场景选择与外部排序
java·数据结构·算法
zander25821 小时前
LeetCode 84:柱状图中的最大矩形——单调栈如何确定左右边界
java·数据结构·算法