GitHub上,一份用Python做交互式图形的资源火了。这一工具名为Bokeh,官方介绍称,它能读取大型数据集或者流数据,以简单快速的方式为网页提供优美、高交互性能的图形。
本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。
GitHub上,一份用Python做交互式图形的资源火了。
这一工具名为Bokeh,官方介绍称,它能读取大型数据集或者流数据,以简单快速的方式为网页提供优美、高交互性能的图形。
比如,有人用它做出了这样的图:
有人做出了这样的图:
还有其他各种图:
有人用它做了图去TED上演讲:
“美观、实用”是不少用户给出的评价,甚至有人想让这份工具用起来更方便,尝试去汉化它的官方文档。
Bokeh能为像我这样的数据科学家提供什么?
我起初是作为一名商业智能从业者(BI professional)开始我的数据科学之旅的,随后,又逐渐学习了预测建模,数据科学和机器学习。我主要使用QlikView和Tableau进行数据可视化,用SAS和Python来做预测分析和数据分析。我几乎没有用过JavaScript。
因此,对于我之前所有的数据产品或想法,我只能要么将其外包要么通过网站线框图向别人展示,这两者都不适合创建快速原型。现在,有了Bokeh,我就可以继续使用Python,并且快速创建这些原型。
Bokeh的优势:
-
Bokeh允许你通过简单的指令就可以快速创建复杂的统计图,
-
Bokeh提供到各种媒体,如HTML,Notebook文档和服务器的输出
-
·我们也可以将Bokeh可视化嵌入flask和django程序
-
Bokeh可以转换写在其它库(如matplotlib, seaborn和ggplot)中的可视化
-
·Bokeh能灵活地将交互式应用、布局和不同样式选择用于可视化
综合Bokeh的优点及其面临的挑战,Bokeh是当前用于快速开发原型产品的理想工具。然而,如果你想在产品的环境下搞点新东西,D3.js可能仍然是你最好的选择。
Bokeh面临的挑战:
-
与任何即将到来的开源库一样,Bokeh正在经历不断的变化和发展。所以,你今天写的代码可能将来并不能被完全再次使用。
-
与D3.js相比,Bokeh的可视化选项相对较少。因此,短期内Bokeh无法挑战D3.js的霸主地位。
综合Bokeh的优点及其面临的挑战,Bokeh是当前用于快速开发原型产品的理想工具。然而,如果你想在产品的环境下搞点新东西,D3.js可能仍然是你最好的选择。
用Bokeh实现可视化
Bokeh提供了强大而灵活的功能,使其操作简单并高度定制化。它为用户提供了多个可视化界面,如下图所示:
-
图表(Charts):一个高级接口(high-level interface),用以简单快速地建立复杂的统计图表。
-
绘图(Plotting):一个中级接口(intermediate-level interface),以构建各种视觉符号为核心。
-
模块(Models):一个低级接口(low-level interface),为应用程序开发人员提供最大的灵活性。
本文中,我们仅涉及前两个接口,图表(Charts)和绘图(Plotting)。
图表
如上所述,它是一个高级接口,用于通过标准的可视化方式呈现信息。这些方式包括箱形图、柱状图、面积图、热图、甜甜圈图和许多其它图形。你只需输入数据框(data frames)、numpy数组或字典就可以生成这些图。
让我们来看看创建一个图表的通用方法:
1. 导入库和函数/方法
2. 准备数据
3. 设置输出模式(Notebook文档、Web浏览器或服务器)
4. 创建图表并选择图表的样式(如果需要)
5. 可视化图表
为了更好地理解这些步骤,让我用下面的例子来演示一下:
图表范例-1:使用Bokeh创建一个柱状图并在Web浏览器上显示
我们将遵循上述列出的步骤来创建一个图表:
#导入库函数from bokeh.charts import Bar, output_file, show#在电脑屏幕上使用 output_notebook来可视化数据#准备数据 (模拟数据)data = {"y": [1, 2, 3, 4, 5]}#输出到Line.HTMLoutput_file("lines.html", ) #创建一个新的含有标题和轴标签的窗口在线窗口p = Bar(data, , xlabel='x', ylabel='values', width=400, height=400)#显示结果show(p)
在上面的图表中,你可以看到顶部的工具选项(缩放、调整大小、重置、旋转缩放),这些工具可以帮助你与图表进行互动。同时,你也可以看到多个图表选项(图例、X轴名标注、Y轴名标注、坐标网格线、宽度、高度等)和各种图表的范例。
●你是如何学习python之web开发的(2019.6.23更新)
来都来了,点个在看再走吧~~~