数据科学指南#基础篇 Bokeh 入门

今天分享一个数据可视化的库:https://bokeh.org/
bokeh 是什么?
bokeh 是一个数据可视化的 Python 库。它提供了 plot(二维关系图)和多种样式图表生成的函数。
这样能够帮助开发者,更多时候是数据分析师快速的将数据展示为多种图表。
它也提供了 serve/static 等支持服务器渲染的特性,本文更多关注在如何进行数据展示。
安装
pip install bokeh
查看安装效果
bokeh info


HelloWorld - 绘制一条价格波动折线
这里写了个 demo1.py


这里有两个维度,x(年份,2017 至 2021);y(黄金价格从 99 波动到 115.9)。
代码很直观:x 数组为年份,y 数组为一组虚构黄金价格。然后创建一个 figure 实例,p 表示一张二维图。
接着在图上画线 p.line,指定 x,y 轴数据和线宽度等。
效果图如下:


HelloWorld - 绘制多条价格波动折线
好,如果想展示两个产品的价格波动,也很容易。
代码中添加 14,15 两行,也就是添加了 y2 数组展示在 y 轴,设置一个不同颜色。




HelloWorld - 绘制可调节散点图
来个复杂点的,下面是个散点图,可以通过设置改变圆点大小和轴距缩放。


看看代码:


很简单直观,我们从图来看代码,主要分为三块。
div, spinner :div 为文字提示,spinner 为把当前图的尺寸传入,渲染出一个图形化调控数字的组件
ranger_slider: 一个范围滑动取值组件,区间为[2010,2020], 步长为 1.
p: 一个 plot 二维图形组件
最后通过这三个块构建为一个 layout 对象,展示为一个整体图表。
最后展示一个保存为 html 的:


这里的实现代码在:https://gitee.com/levin6/data-science-stream/blob/main/lecture01/demo7.py,本文不做过多分析了,读者可以思考一下。
代码 REPO 持续更新
https://blog.csdn.net/geeklevin/article/details/116111486?spm=1001.2014.3001.5501
这里展示了三种使用,分析的重点在于对数据和图表的把握。
更多内容请移步:https://bokeh.org/
没有学习过 python 的可以参考一个更加基础的 Python 项目:https://blog.csdn.net/geeklevin/article/details/116111486?spm=1001.2014.3001.5501,在试验本文的代码。
对了大家觉得有用可以一键三连,感谢!
博主会长期更新数据科学系列的文章欢迎关注。
版权声明: 本文为 InfoQ 作者【Levin】的原创文章。
原文链接:【http://xie.infoq.cn/article/c9b172d97e7f0ca812b02faa1】。未经作者许可,禁止转载。
评论