大家好,我是安夏学姐!今天要跟大家分享一个超级好玩的 Python 数据可视化库 - Bokeh。它不仅能绘制精美的图表,还能让图表具有交互功能,帮助我们更生动地展现数据背后的故事。我一直觉得数据可视化就像给枯燥的数字穿上了漂亮的衣服,而 Bokeh 则是一位出色的“数据设计师”。
## 初识 Bokeh
Bokeh 是一个强大的 Python 可视化库,专注于在网页浏览器中创建交互式数据可视化。它的名字来源于摄影术语“散景”,暗示着它能让数据图表呈现出美轮美奂的效果。
我们需要安装 Bokeh:
```python
# 使用 pip 安装
pip install 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)
注意事项:在设计仪表盘时,要注意图表之间的关系,确保它们能讲述一个连贯的数据故事。
- 保存图表 :使用
export_png()
或 save()
可以将图表保存为文件 - 自定义主题 :Bokeh 提供了多种内置主题,也可以自定义颜色方案
- 响应式设计
试试用 Bokeh 完成以下练习:
小伙伴们,今天的 Python 学习之旅就到这里啦!记得动手敲代码,有问题随时在评论区问安夏学姐我哦。Bokeh 的世界很精彩,期待看到你们用它创造出漂亮的数据可视化作品!祝大家学习愉快,Python 学习节节高!
Would you like me to explain or break down any part of this article?
·end·
—如果喜欢,快分享给你的朋友们吧—
我们一起愉快的玩耍吧