本文原载于微信公众号:磐创AI(ID:xunixs),欢迎关注磐创AI微信公众号及AI研习社博客专栏。
作者:小韩
总结了10个不同领域的 Python 数据可视化库,有常用的,也有比较小众的。
matplotlib是Python数据可视化库的OG。尽管它已有十多年的历史,但仍然是Python社区中使用最广泛的绘图库。它的设计与MATLAB非常相似,MATLAB是20世纪80年代开发的专有编程语言。
Seaborn利用matplotlib的强大功能,可以只用几行代码就创建漂亮的图表。关键区别在于Seaborn的默认款式和调色板设计更加美观和现代。由于Seaborn是在matplotlib之上构建的,因此还需要了解matplotlib以便调整Seaborn的默认值。
ggplot基于ggplot2,一个 R 语言绘图系统,以及The Grammar of Graphics的概念。ggplot的运行方式与matplotlib不同:它允许你对组件进行分层以创建完整的绘图。例如,你可以从轴开始画,然后添加点,然后是线、趋势线等。虽然图形语法被称为绘图的“直观”方法,但经验丰富的matplotlib用户可能需要时间来适应这个新的方式。
与ggplot一样,Bokeh同样基于The Grammar of Graphics,但与ggplot不同的是,它是原生Python的,而不是从R语言移植过来的。它的优势在于能够创建交互式的网站图,它可以很容易地输出为JSON对象、HTML或交互式Web应用程序。Bokeh还支持流媒体和实时数据。
与Bokeh和Plotly一样,pygal提供可以嵌入Web浏览器的交互式图。它的主要区别在于能够将图表输出为SVG格式。如果你使用较小的数据集,SVG格式的图像就可以了。但是如果制作的图表包含数十万个数据点,它们就会很难渲染并变得反应迟钝。
你可能知道Plotly是一个数据可视化的在线平台,但你是否也知道可以从Python笔记本使用它的功能?与Bokeh一样,Plotly的强项正在制作交互式图,但它提供了一些在大多数库中没有的图表,如等高线图,树状图和3D图表。
geoplotlib是一个用于创建地图和绘制地理数据的工具库。可以使用它来创建各种地图类型,例如等值线,热图和点密度贴图。你必须安装Pyglet(面向对象的编程接口)才能使用geoplotlib。尽管如此,由于大多数的Python数据可视化库都没有提供地图类型,因此有一个专门的库还是可以的。
Gleam的灵感来自 R 语言的 Shiny 包。它允许你仅使用Python脚本就将分析结果转换为交互式Web应用程序,因此你不必了解任何其他语言,如HTML,CSS或JavaScript。Gleam适用于任何Python数据可视化库。创建绘图后,你可以在它上面添加字段,以便用户可以对数据进行筛选和排序。
处理缺失的数据是一件痛苦的事。missingno 允许你使用视觉摘要来快速评估数据集的完整性,而不是通过大篇幅的表格。你可以根据热图或树形图的完成度或点的相关度对数据进行过滤和排序。
就像Leather 的创造者克里斯托弗·格罗斯科普夫(Christopher Groskopf)说得:“Leather是Python图表库,适合那些现在需要图表并且不关心它们是否完美的人。” 它适用于所有数据类型并生成图表作为SVG,可以缩放它们而不会丢失图像质量。由于这个库相对较新,一些文档仍在进行中。你可以制作非常基本的图表 - 但这是就是您想要的。
Chartify是一个可以使数据科学家轻松创建图表的Python库。
为什么使用Chartify?
一致的输入数据格式:花费更少的时间来转换数据。所有绘图功能都使用一致的整齐的数据格式。
智能默认样式:创建一个漂亮的图表,只需要很少的自定义变量。
简单的API:使API尽可能直观且易于学习。
灵活性:Chartify建立在Bokeh之上,如果需要更多的样式,可以随时使用Bokeh的API。
Altair是一个基于 Vega-lite 的声明性统计(declarative statistical)可视化python库。声明意味着只需要提供数据列与编码通道之间的链接,例如x轴,y轴,颜色等,其余的绘图细节它会自动处理。声明使Altair变得简单,友好和一致。使用Altair可以轻松设计出有效且美观的可视化代码。
参考自:
1.https://blog.modeanalytics.com/python-data-visualization-libraries/
2.https://www.fusioncharts.com/blog/best-python-data-visualization-libraries/
3.https://medium.com/@mjbahmani/11-useful-python-data-visualization-libraries-d0186d367d55
欢迎扫码关注磐创AI微信公众号