Bokeh,交互式可视化大师Python库!

文摘   2024-12-10 00:03   贵州  

点击“蓝字”  关注我们


大家好,我是安夏学姐!今天要跟大家分享一个超级好玩的 Python 数据可视化库 - Bokeh。它不仅能绘制精美的图表,还能让图表具有交互功能,帮助我们更生动地展现数据背后的故事。我一直觉得数据可视化就像给枯燥的数字穿上了漂亮的衣服,而 Bokeh 则是一位出色的“数据设计师”。

## 初识 Bokeh

Bokeh 是一个强大的 Python 可视化库,专注于在网页浏览器中创建交互式数据可视化。它的名字来源于摄影术语“散景”,暗示着它能让数据图表呈现出美轮美奂的效果。

我们需要安装 Bokeh:

```python

# 使用 pip 安装

pip install bokeh

第一个 Bokeh 图表

让我们从一个简单的折线图开始:


from bokeh.plotting import figure, show

from bokeh.io import output_notebook

# 准备数据

x = [1, 2, 3, 4, 5]

y = [2, 5, 8, 2, 7]

# 创建图表

p = figure(title=“我的第一个 Bokeh 图表”,

x_axis_label=“X轴”,

y_axis_label=“Y轴”)

# 添加折线

p.line(x, y, line_width=2)

# 显示图表

show(p)

小贴士:Bokeh 生成的是 HTML 文件,可以在浏览器中查看。你可以放大缩小、平移图表,还能导出为图片呢!


添加交互特效

Bokeh 最吸引人的地方就是交互功能。来看看如何添加悬停工具提示:


from bokeh.models import HoverTool

# 准备带标签的数据

x = [1, 2, 3, 4, 5]

y = [2, 5, 8, 2, 7]

labels = ['A', 'B', 'C', 'D', 'E']

# 创建图表

p = figure(title=“带悬停提示的散点图”)

# 添加散点

scatter = p.scatter(x, y, size=10)

# 添加悬停工具

hover = HoverTool(tooltips=[

('点位', '@x, @y'),

('标签', labels)

])

p.add_tools(hover)

show(p)

绘制漂亮的仪表盘

Bokeh 还能创建仪表盘式的布局:


from bokeh.layouts import row, column

from bokeh.models import ColumnDataSource

# 创建两个图表

p1 = figure(width=300, height=300)

p1.circle([1,2,3], [4,5,6])

p2 = figure(width=300, height=300)

p2.line([1,2,3], [7,8,9])

# 组合布局

layout = row(p1, p2)

show(layout)

注意事项:在设计仪表盘时,要注意图表之间的关系,确保它们能讲述一个连贯的数据故事。


实用技巧

  1. 保存图表
    :使用 export_png()save() 可以将图表保存为文件
  2. 自定义主题
    :Bokeh 提供了多种内置主题,也可以自定义颜色方案
  3. 响应式设计
    :图表尺寸可以设置为相对值,适应不同屏幕大小

练习小任务

试试用 Bokeh 完成以下练习:


  1. 创建一个带有渐变色的柱状图
  2. 实现一个可以切换显示/隐藏数据系列的图表
  3. 制作一个带有时间滑块的时序图表

小伙伴们,今天的 Python 学习之旅就到这里啦!记得动手敲代码,有问题随时在评论区问安夏学姐我哦。Bokeh 的世界很精彩,期待看到你们用它创造出漂亮的数据可视化作品!祝大家学习愉快,Python 学习节节高!


Would you like me to explain or break down any part of this article?

·end·

—如果喜欢,快分享给你的朋友们吧—

我们一起愉快的玩耍吧




EV电车视点
优质原创公众号
 最新文章