Python大数据分析 2025-08-11 12:02 浙江
说到Python数据可视化,最常用的要数matplotlib和seborn,它们几乎囊括了各种主流绘图场景,比如科研绘图、商业绘图、kaggle比赛绘图等,但这两也有短板,不适合动态和交互式绘图,而能弥补这一功能的就是Python中另一可视化明星工具-Bokeh,它可以绘制非常灵活的web可视化图表。
为什么说Bokeh交互能力强呢?因为它原生支持HTML和JavaScript渲染图表,而不是像matplotlib那样需要后端渲染,所以Bokeh能很轻松的集成Flask、Django,进行web可视化开发。
Bokeh支持的图表类型很丰富,基本的图表比如线图、散点图、柱状图、饼图、面积图、直方图、地图等,都可以支持,而且UI美化简单直接,不需要复杂的调整。
作为交互能力出众的可视化库,Bokeh提供了很多交互组件,比如平移、缩放、悬停、选择等,支持各种控件,比如按钮、滑块、下拉菜单、复选框等,通过Bokeh服务器来启用Python回调和实时更新的Web应用程序框架。
比如绘制这种动态气泡图,也是信手拈来。
它的定制化能力虽然没有matplotlib那么强,但基本的图表元素都可以自定义,比如轴、标题、图例、日期选择器、颜色与大小等,并且可以通过组件来调整。
Bokeh相比其他可视化库的另一个优势是它能很好的处理实时数据流,可以及时的展示数据的变化,比如电商数据沙盘、企业经营大屏、股票实时走势等,可以集成到web应用中,而且能结合Python的数据处理库进行实时的数据清洗、建模,并展示数据,非常的好用。
在数据源方面,Bokeh能直接读取numpy或者pandas数据格式进行可视化展示,无缝集成pandas主流数据科学库,而且可以导出png、svg和表格。
如何安装Bokeh呢?很简单,直接使用pip安装即可,在命令行输入:
pip3 install bokeh
如果下载慢的话,可以配置临时镜像源。
pip install bokeh -i https://mirrors.aliyun.com/pypi/simple/
只需要简单的几行代码,就可以绘制出一个折线图。
from bokeh.plotting import figure, show
p = figure(width=400, height=400)
# add a line renderer
p.line([1, 2, 3, 4, 5], [6, 7, 2, 4, 5], line_width=2)
show(p)
其他更多好看的Bokeh交互式图表可以看下面示例: