单元十一Python可视化与可视化工具;;数据可视化是以图形或图表的形式展示数据。数据可视化后,可以更加直观地帮助人们快速地理解数据,发现数据的关键点。
数据可视化技术是关于数据视觉表现形式的科学技术研究。主要指的是较为高级的技术方法,而这些技术方法允许利用图形、图像处理、计算机视觉以及用户界面,通过表达、建模以及对立体、表面、属性以及动画的显示,对数据加以可视化解释。Python语言有丰富的、功能强大的、第三方库的支持,在数据可视化方面具有较强的功能。;数据可视化对于数据描述以及探索性分析至关重要,恰当的统计图表可以更有效的传递数据信息。在Python中已经有很多数据可视化方面的第三方库,例如:Matplotlib、pandas、Seaborn、ggplot、Bokeh、pygal、geoplotlib等。
matplotlib是一个Python绘图库,已经成为Python中公认的数据可视化工具,通过matplotlib可以很轻松地画一些或简单或复杂地图形,几行代码即可生成折线图、直方图、条形图、散点图等,使用方便简单。
pandas库的应变得更加普及,它的身影经常见于市场分析、金融分析以及科学计算中。作为数据分析工具的集大成者,pandas作者曾说,pandas中的可视化功能比matplotlib的子库pyplot更加简便和功能强大。通常情况下pandas就足够应付全部的可视化工作了。
Seaborn是基于matplotlib产生的一个模块,专攻于统计可视化,可以和pandas进行无缝链接,使初学者更容易上手。相对于matplotlib,Seaborn语法更简洁,两者关系类似于numpy和pandas之间的关系。?
HoloViews是一个开源的Python库,可以用非常少的代码行完成数据分析和可视化,除了默认的matplotlib后端外,还添加了一个Bokeh后端。Bokeh提供了一个强大的平台,通过结合Bokeh提供的交互式小部件,可以使用HTML5canvas和WebGL快速生成交互性和高维可视化,非常适合于数据的交互式探索。
Altair是Python一个公认的统计可视化库。它的API简单、友好、一致,并建立在强大的vega-lite(交互式图形语法)之上。AltairAPI不包含实际的可视化呈现代码,而是按照vega-lite规范发出JSON数据结构。由此产生的数据可以在用户界面中呈现,这种优雅的简单性产生了漂亮且有效的可视化效果,且只需很少的代码。
;PyQtGraph是在PyQt4/PySide和numpy上构建的纯Python的GUI图形库。它主要用于数学、科学、工程领域。尽管PyQtGraph完全是在Python中编写的,但它本身就是一个非常有能力的图形系统,可以进行大量的数据处理,数字运算;使用了Qt的GraphicsView框架优化和简化了工作流程,实现以最少的工作量完成数据可视化,且速度也非常快。?
ggplot是基于R的ggplot2和图形语法的Python绘图系统,实现了更少的代码绘制更专业的图形。它使用一个高级且富有表现力的API来实现线、点等元素的添加,颜色的更改等不同类型可视化组件的组合或添加,而不需要重复使用相同的代码,然而这对那些试图进行高度定制的用户来说,ggplot并不是最好的选择,尽管它也可以制作一些非常复杂、好看的图形。ggplot与pandas紧密联系。如果你打算使用ggplot,最好将数据保存在DataFrames中。?
Bokeh是一个Python交互式可视化库,支持现代化web浏览器展示(图表可以输出为JSON对象、HTML文档或者可交互的网络应用)。它提供风格优雅、简洁的D3.js的图形化样式,并将此功能扩展到高性能交互的数据集、数据流上。使用Bokeh可以快速便捷地创建交互式绘图、仪表板和数据应用程序等。?Bokeh能与NumPy、Pandas、Blaze等大部分数组或表格式的数据结构完美结合。
pygal是一种开放标准的矢量图形语言,它基于XML(ExtensibleMarkupLanguage),可以生成多个输出格式的高分辨率Web图形页面,还支持给定数据的HTML表导出。用户可以直接用代码来描绘图像,可以用任何文字处理工具打开SVG图像,通过改变部分代码来使图像具有交互功能,并且可以插入到HTML中通过浏览器来观看。?
VisPy是一个用于交互式科学可视化的Python库,快速、可伸缩、且易于使用,是一个高性能的交互式2D/3D数据可视化库,利用了现代图形处理单元(gpu)的计算能力,通过OpenGL库来显示非常大的数据集。
NetworkX是一个Python包,用于创建、操纵和研究复杂网络的