读图时代,图片不够精美绚丽,怎能够吸引住越来越挑剔的眼睛。而拥有“盛世美颜”的图片是怎样炼造而成的呢?大圣众包(www.dashengzb.cn)小编介绍5款交互式图表Python绘图库为你轻松实现大数据可视化!
Bokeh
作为一个专门针对Web浏览器的呈现功能的交互式可视化Python库,Bokeh可以以各种可能途径实现数据可视化,这是将Bokeh称为每位数据科学家的必备“神器”的原因。
Bokeh可以把各个组件逐个叠加在一起,以创建最终的图表,例如,可以以坐标轴为起点,添加点、线、标签等。只需要简单几步,Bokeh便能够创建出简洁漂亮的交互式可视化效果,也可以和非常大型的或是流数据集进行高效互动。另外,用户可以通过滑动和下拉菜单进行筛选,对图表进行缩放和平移操作,也可以通过框或套索选中一组数据点。Bokeh可以帮助所有人快速方便地创建互动式的图表、控制面板以及数据应用程序。
Bokeh图表的输出方式,可以是JSON对象、HTML文件或是交互式网络应用。
也许,在允许用户在浏览器中操作数据,是Bokeh最为突出的适用场景。
2.HoloViews
HoloView能够让用户构建有助于可视化的数据结构,而且它包含丰富的可组合元素库,可以覆盖、嵌套和轻松定位,同时,它还支持快速数据探索。严格来说,它并不是一个绘图库。
当使用Boken后端时,用户可以结合滑块和Bokeh的工具探索图形,通过一个变量来观察它的影响。众所周知,HoloView拥有强大的pandas数据帧和Seaborn的统计图表的功能,全凭它融合了Seaborn和pandas。因为HoloViews提供的主要交互功能是滑动条,当你把数据移入HoloView容器对象(Containerobject)中,比如用于多变量分析的网格矩阵(GridMatrix)或用于显示相邻成份的布局(Layout)时,你就可以简单直观地探索所需的数据了。
担心过于专注编写绘图代码而忽略了数据?HoloView让你无需顾虑,毕竟HoloView在matplotlib或Bokeh后端中绘图时,是分开进行的。
3.mpld3
mpld3是怎样创建与浏览器兼容的可视化图形的?答案是,将Python的核心绘图库matplotlib,以及备受欢迎的JavaScript图表库D3结合在一起,就成为这款强大的交互图表了。
要说mpld3最闪耀的亮点,当属它齐全的API——允许用户创造自定义插件。假如用户很幸运地同时熟悉JavaScript和D3的话,那更是锦上添花,因为这代表用户可以创造无穷尽的各种图形。值得一提的是,mpld3除了提供可让用户创造自定义的插件外,还提供包含缩放、平移和增加提示的工具条(当鼠标悬浮于某一数据点上,出现提示信息)等内置插件。具体的使用方法是,在matplotlib中绘制一张图表后,再运用Python和JavaScript插件来增加交互功能,然后用D3渲染就可以轻松完成想要的效果了。
如果想要把图形嵌入到任何网页中,只要在准备发布图形的时候,在最后添加一行额外的代码,把图形转换成HTML和JavaScript字符就可以了,十分简便。
关于适用场景,毕竟带有成千上万数据点的图形会降低浏览器的处理速度,所以说,小型或中型数据库对mpld3最有利。
4.plotly
支持桌面以及移动浏览器的plotly是一款在线的免费进行科学绘图、数据分析软件,就像是在线版本的Origin。它拥有广泛的具有出版物品质的图表类型。
从简单的条形图表到复杂的3D网格图形,plotly都能hold住。所有的plotly图表都包含工具提示,一旦利用plotly的JavaScriptAPI把图表嵌入后,你就可以在其顶部设置自定义如滑块和筛选的控件了。而另一种在plotly中操作和分享图形的方式,需要在Mode中进行操作,具体方法是将数据用SQL拖入PythonNotebook中,再利用plotly离线库绘制查询的结果,之后把交互式图表添加到报告中就可以了。当然,这份报告可以嵌入其他页面,也可以以URL在线分享。两种方式的操作都很简便。探索性可视化图表建立了与数据库或主题事件的互动,它们可以帮助用户探索数据,发现他们自己认为相关的或者感兴趣的事物。
用户想要把图表嵌入到网页中,只要使用Python的离线库并上传图表到它的免费公共服务器或付费私人服务器中就可以了,再嵌入便可以了,十分方便。
5.pygal
业内人士都知道,想要制作漂亮的即用图表,pygal绘图库是最优的选择。
为什么说pygal绘图库是制作漂亮的即用图表的最优选择呢?因为,pygal不仅能实现将每种表格都打包成一个类函数,例如:将pygal.Histogram()制作成柱状图、将pygal.Box()制作成箱型图等等,而且生成的各种图形均有各种色彩默认风格,十分绚丽。如果pygal默认的色彩风格还不能够满足你,用户还可以配置各种图表元素,完全自定义专属于自己的作品,包括大小、标题、标签和渲染,用户都拥有绝对的掌控权。
想要把图形嵌入网页中,可以在HTML中直接插入代码,或者使用pygal的功能——先将图表通过SVGs的形式导出,然后把它们加载到带有嵌入标记的网页中。
pygal的使用场景为更小型的数据库,而且,它只需要编写很少的代码,大大方便了用户。
一般而言,探索性可视化图表是交互式的。尽管现在有许多Python绘图库,但只有少数可以创建能够使你在线嵌入和发布的交互图表,以上5款便是精心挑选的。DT时代,善于利用工具实现大数据可视化,可是一门非常吃香的技能哦。
原文地址:http://www.dashengzb.cn/articles/a-361.html
(更多大数据与商业智能领域干货、或电子书,可添加个人微信号(dashenghuaer))