数据可视化是数据科学分析的重要环节,是有效传达数据价值的重要渠道。辛苦整理了一天,我们一睹Python可视化工具的精彩之处。
尝试过使用Python可视化的同学,一定都了解matplotlib,它是python图形绘制的基础包,很多惊艳包都是从它而来。
绘图基础知识:图表的组成元素包括:
图构成元素的可视化标记:
一,Matplotlib
基于Python的绘图库,提供完全的 2D 支持和部分 3D 图像支持。在跨平台和互动式环境中生成高质量数据时,matplotlib 会很有帮助。也可以用作制作动画。
二,Seaborn
Seaborn 基于 matplotlib,具有多种特性,比如内置主题、调色板、可以可视化单变量数据、双变量数据,线性回归数据和数据矩阵以及统计型时序数据等,能让我们创建复杂的可视化图形。
三,pandas
对于pandas的内置数据类型,Series 和 DataFrame 都有一个用于生成各类图表的 plot 方法。默认情况下,它们所生成的是线性图。其实Series和DataFrame上的这个功能只是使用matplotlib库的plot()方法的简单包装实现。
Matplotlib、Seaborn 和 Pandas 是常见作图三剑客:首先 Seaborn 和 Pandas 是建立在 Matplotlib 之上的,当你在用 Seaborn 或 Pandas 中的 df.plot() 时,底层引用 Matplotlib 基础逻辑。因此,这些图在美化方面是相似的,自定义图时用的语法也都非常相似。Seaborn主要基于Matplotlib进行抽象层封装,提供了更加直观的语法和开箱即用的特性。
四,plotnine
用过R语言的都知道ggplot2画出来的图表是极其舒适的,从配色到线条,都很美观。plotnine是可以实现ggplot2的功效.。基于Grammar of Graphics, Plotnine实现了图形的语法,让你可以用声明式的方式构建图表,每一部分都是可解释的。
五,Bokeh
Bokeh 是一个用于创建交互式和可视化图表的 Python 库,特别适合在浏览器中展示。它能够处理大型数据集或实时数据集,支持快速绘制,并且可以轻松地嵌入到HTML 页面中。Boken是一个受GRAPHICS GRAMMAR范式影响的可视化库,该范式是基于web大数据集可视化而开发的。
六,Plotly Plotly则是一个功能强大且多功能的Python库,提供了广泛的工具来创建交互式且具有视觉吸引力的绘图(借助浏览器渲染图片)。
七,Networkx
基于 matplotlib 的,但它仍是图形分析和可视化的绝佳解决方案。NetworkX 是一个用于创建、操作和研究复杂网络的 Python 库。它提供了丰富的功能,可以帮助你创建、分析和可视化各种类型的网络,例如社交网络、Web图、生物网络等。
八,Altair
一个声明式的统计可视化库。Altair全称是Vega-Altair,相比于更常见的Matplotlib和Seaborn,代码更简单,集成度更高,不需要怎么调试的默认设置就很美观,同时也提供了适合更多场景的图表。
九,pyecharts
pyecharts 是一个基于 ECharts 的 Python 数据可视化库,它允许用户使用 Python 语言生成各种类型的交互式图表和数据可视化(借助浏览器渲染)。
十,holoviews (html渲染) HoloViews是一个开源Python库,旨在使数据分析和可视化变得简单无缝。使用HoloViews, 您通常可以在极少数代码中表达您想要做的事情,让您专注于您想要探索和传达的内容,而不是绘图过程。
十一,Basemap Basemap工具包是Matplotlib包的子包,一个用于在Python绘制2D数据至地图的库,它提供了将坐标转化为25中不同地图投影的功能,然后调用Matplotlib扩展包绘制轮廓、图像和坐标点等。安装复杂,有一定的门槛。
十二,PyQtGraph
是一个Python工具类软件,专注于为科学/工程类应用程序提供快速数据可视化和GUI工具,使用于桌面软件应用的开发。并不适合数据分析从业者使用。
十三,Pygal
Pygal是一个用于创建 SVG (Scalable Vector Graphics) 图表的 Python 库。它设计轻巧,易于使用,特别适合 web 应用的动态图表。pygal是一个SVG图表库。全称Scalable Vector Graphics -- 可缩放矢量图形。
十四,Vispy
是一个高性能的交互式 2D/3D 的交互式科学可视化库。利用图形处理器 GPU 通过 OpenGL 库来显示非常大的数据集。
其它的可视化库诸如:geoplotlib、folium、gleam、vincent、mpld3、python-igraph、missingno、mayavi2、leather等等,各有各的优势。