当前位置: 首页 > news >正文

揭秘数据之美:利用 Bokeh 轻松构建实时、动态的数据可视化项目

1、引言

想让你的数据跃然 “屏” 上?厌倦了静态图表的平淡无奇?那么,今天就让我们一起探索 Python 世界中的瑰宝 ——Bokeh 库。这款强大的可视化工具以其流畅的交互性和实时更新能力,让你的数据呈现如电影般生动立体,瞬间抓住读者的眼球!

安装与基本使用

首先,确保你的 Python 环境中已安装 Bokeh。只需通过 pip 一键安装:

pip install bokeh

接下来,一个简单的 Bokeh 绘图示例:

from bokeh.plotting import figure, show
from bokeh.io import output_notebookoutput_notebook ()  # 在 Jupyter Notebook 中显示图形# 创建一个新的图表实例
p = figure (title="我的第一个 Bokeh 图表")# 添加一些数据点
p.circle([1, 2, 3, 4, 5], [6, 7, 2, 4, 5], size=15)# 显示图表
show(p)

小技巧
Bokeh 的一大亮点在于它的交互性。你可以轻松地添加滑块、按钮等交互元素,比如下面这个动态调整数据的例子:

from bokeh.models import ColumnDataSource, Slidersource = ColumnDataSource(data=dict(x=[1, 2, 3, 4, 5], y=[6, 7, 2, 4, 5]))slider = Slider (start=0, end=10, value=1, step=0.1, title="缩放系数")def update_data(attr, old, new):factor = slider.valuesource.data = dict(x=[i * factor for i in source.data['x']], y=[j * factor for j in source.data['y']])slider.on_change('value', update_data)# 将滑块添加至图形,并重新显示
p.add_layout(slider)
show(p)

2、应用案例

(1)地理空间数据可视化
使用 Bokeh 可以创建炫酷的地理地图,例如绘制全球气温分布图:

# 这里仅给出概念性代码,实际实现涉及加载真实数据集
from bokeh.tile_providers import get_provider
from bokeh.plotting import figuretile_provider = get_provider('CARTODBPOSITRON')
p = figure(x_axis_type="mercator", y_axis_type="mercator")
p.add_tile(tile_provider)# 加载并绘制气温数据...
# ...show(p)

(2)时间序列分析
Bokeh 可以用来制作动态的时间序列图表,实时追踪股票价格变动:

# 假设 stock_prices 是一个时间序列数据
from bokeh.models import DatetimeTickFormatter, HoverToolp = figure(plot_width=800, plot_height=400, x_axis_type='datetime')
p.line(stock_prices.index, stock_prices.values, line_width=2)# 设置日期格式化器
p.xaxis.formatter = DatetimeTickFormatter()# 添加悬停工具查看具体数值
hover = HoverTool (tooltips=[("日期", "@x {% F}"), ("价格", "@y")])
p.add_tools(hover)show(p)

(3)网络图绘制
借助 Bokeh 绘制复杂网络关系图,比如社交网络链接结构:

# 假设 nodes 和 edges 分别为节点列表和边列表
from bokeh.models.graphs import from_networkx
from networkx import nxG = nx.random_graphs.barabasi_albert_graph (100, 2)  # 生成 BA 模型网络
graph_renderer = from_networkx(G)# 配置节点颜色、大小等属性
...# 添加到图表中
p = figure(..., tools='pan, wheel_zoom, save, reset')
p.renderers.append(graph_renderer)show(p)

3、结尾

学以致用,尝试运用 Bokeh 为你的数据分析增添活力吧!若你在实践中遇到任何问题,欢迎留言交流。记住,可视化是为了更好地理解数据背后的含义,而不仅仅是好看。

关注我👇,精彩不再错过
在这里插入图片描述

往期推荐:

精通Python数据处理:掌握Agate,解锁数据分析新境界

掌握Python图像处理艺术:Pillow库入门实践与案例解析

Seaborn完全指南:从入门到实战

Python图像处理库精选:从PIL到OpenCV,视觉技术核心工具介绍

【Python爬虫神器揭秘】手把手教你安装配置Scrapy,高效抓取网络数据

http://www.lryc.cn/news/317041.html

相关文章:

  • 性能测试场景分析并设计?超细案例讲解
  • python面向对象练习一
  • 【Linux-tar/gzip/zip】
  • 第一代高通S7和S7 Pro音频平台:超旗舰性能,全面革新音频体验
  • el-menu + el-badge 菜单加红点标识el-badge
  • python: inspect模块各函数的用法
  • 优化代码性能:C#中轻松测量执行时间
  • I2C学习总结
  • libcudart.so libcuda.so之间的关系
  • STM32基本定时功能
  • Linux学习:权限
  • 汉诺塔问题代码写法的详细解析
  • Python爬虫入门
  • 【数据结构学习笔记】选择排序
  • 小资金适合做伦敦金的投资吗?
  • 自动化运维工具 ---------------Ansible
  • 富格林:有效做单安全盈利方法
  • 二分查找的理解及应用场景。
  • 共创时代,品牌如何做好UGC营销?
  • 华为三层交换机:ACL的基本实验
  • 基于springboot+vue的旅游管理系统
  • 4. git 添加版本标签
  • 2024 PhpStorm激活,分享几个PhpStorm激活的方案
  • 2419. prufer序列(prufer编码,模板题)
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Text)
  • 开源大数据集群部署(十五)Zookeeper集群部署
  • 服务器镜像是什么
  • JWT原理
  • 操作系统:一款纯正的“管理”软件
  • Mac笔记本聚焦SpotLight占用内存太高的 解法