Bokeh,现代化数据可视化的艺术品!

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

点击“蓝字”  关注我们


大家好,我是安夏学姐。今天我要给大家介绍一个超级好用的Python数据可视化库 - **Bokeh**。它不仅能帮我们创建漂亮的交互式图表,还特别适合用在网页和Jupyter Notebook中展示。无论你是数据分析新手还是可视化老手,相信今天的内容都能给你带来惊喜!

## 为什么选择Bokeh?

作为一个经常和数据打交道的程序媛,我深知选择一个好的可视化工具有多重要。Bokeh的优势在于:

- 生成的是纯JavaScript图表,可以直接嵌入网页

- 支持交互式操作,如缩放、平移、悬停提示等

- 适合处理大规模数据集

- 绘图风格现代简约,颜值在线

## 快速上手

我们需要安装Bokeh:

```python

pip install bokeh

来看一个简单的折线图示例:


from bokeh.plotting import figure, show

from bokeh.io import output_notebook

# 准备数据

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

y = [6, 7, 2, 4, 5]

# 创建图表

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

plot_height=300, plot_width=600)

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

# 显示图表

show(p)

💡 小贴士 : 如果你在Jupyter Notebook中使用,记得先调用output_notebook()哦!


添加交互功能

Bokeh最吸引人的地方就是交互功能了。让我们给图表添加一些有趣的工具:


from bokeh.models import HoverTool

p = figure(tools=“pan,box_zoom,reset,save”)

p.add_tools(HoverTool(tooltips=[

('x', '@x'),

('y', '@y')

]))

绘制精美的散点图

我特别喜欢用Bokeh来画散点图,因为它可以很方便地展示多个维度的数据:


import numpy as np

# 生成随机数据

N = 100

x = np.random.random(N)

y = np.random.random(N)

colors = np.random.randint(0, 3, N)

sizes = np.random.randint(10, 30, N)

# 创建散点图

p = figure(title=“彩色散点图”)

p.scatter(x, y,

color=['navy','red','green'][colors],

size=sizes,

alpha=0.6)

⚠️ 注意事项 : 当处理大量数据点时,建议适当调整alpha值来避免过度重叠。


让图表更专业

如果你想让图表看起来更专业,可以这样设置:


from bokeh.plotting import figure

from bokeh.models import ColumnDataSource

from bokeh.layouts import column

from bokeh.themes import built_in_themes

from bokeh.io import curdoc

# 设置主题

curdoc().theme = built_in_themes['light_minimal']

p = figure(title=“专业风格图表”)

p.grid.grid_line_color = “gray”

p.grid.grid_line_alpha = 0.3

p.title.text_font_size = '20pt'

实用小练习

试试用Bokeh实现以下效果:


  1. 创建一个带有渐变色的柱状图
  2. 添加图例和坐标轴标签
  3. 实现图表的导出功能

进阶技巧

对于想深入学习的小伙伴,我建议研究以下功能:


  • 布局系统(layout)
  • 自定义工具(tools)
  • 链接图表(linking)
  • 回调函数(callbacks)


小伙伴们,今天的Python学习之旅就到这里啦!记得动手敲代码,有问题随时在评论区问安夏学姐我哦。Bokeh的世界还有很多有趣的功能等着你去探索呢!祝大家学习愉快,Python学习节节高!


Would you like me to explain or break down the code examples in the article?

·end·

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

我们一起愉快的玩耍吧




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