好学编程:数据可视化工具最常用的有哪几种?
数据可视化是是一门技术,也是一门艺术。市面上有各种各样的工具来实现我们的数据分析和挖掘的目的。百度知乎上的答案五花八门,国内的国外的,知道的不知道的总有人能给你找出来。
如果你是可视化爱好者接下来介绍的可能没什么新意,本文主要是面向数据分析师初学者。对于数据分析、挖掘来说,可视化很重要的,但不是目的,目的是传达数据背后的信息(似乎白说~其实想说可视化不是DA的第一要务,只是为分析服务的),所以使用什么工具并没有那么重要。
今天好学编程介绍四十八种数据可视化工具,面向数据初学者,但是只详细介绍十种,也是推荐使用的(不只是我个人在用,也是我看了所有回答以及圈子里大家都用的比较多的)。目的在于让看的眼花缭乱的初学者知道总共有哪些(了解全局),最流行的有哪些(抓住重点),这样既不会怀疑自己用的工具对不对,是不是还有更好的(初学者经常会有这样情况,对别的工具不了解对自己的不精通就会频繁更换,实际上你经常搜到的、培训卖课多的确实是最好的了)。虽然有一些小众的也有些特色,但是绝大部分图表和功能在这十种里都具备,不然它们怎么会受欢迎呢?
初学者会头疼那么多工具哪个好,其实对工具的分类没有搞清楚,其实没有完美的数据可视化工具,各种工具总会受自身限制,但是如果你了解各种工具的属性和应用场景,其实可以多种工具综合使用,以达到数据分析与可视化高效结合的目的。
比如我就是将Python和PowerBI结合使用,利用Python强大的计算能力和PowerBI动态交互仪表板的功能结合起来,只用前者的计算,就可以避免写繁琐的DAX表达式(DAX也很强大却很不好理解,但是有了Python这个外部工具就可以替代),而且PowerBI和Tableau两个最流行的工具都有个问题,就是吃内存,二十万以内轻量数据还能处理,数据量大再加上各种繁琐的计算,就会严重影响效率。所以如果用Python把所有数据处理好再连到BI不就解决了这个问题吗?不过Python的缺点是联动交互(虽然壹鞋库也可以图表交互)和仪表板大屏的功能难以实现(有些可能会说Bokeh可以实现大屏,但它是静态的,不能实时计算),所以动态还是BI好哇。
针对分类不清的问题,我把所有这些工具简单分个类,大家就会大致了解,然后各取所需。最好专精三到四个,不要多也不要少。大致分为办公类、BI类、编程类、Web类、商业类、其他类。其中推荐的是标红的十种。
考虑数据可视化工具的使用目的和场景,我们还需要知道这些可视化工具的属性,以便知道各自的优势劣势。
为什么要考虑这些属性呢?流行度讲的是这个工具的价值,用这个工具还是为了工作,如果工具普及度比较小工作中没法用也就没必要学;第三到五跟第一点相关,免费指的是不用付较大的金钱成本就可以实现大部分功能,有些工具看似免费实际很恶心人,易得是指虽然免费好用但是因为是国外的,需要科学上网,一般用不了,好学就是指时间成本了,有的好学好用,有的好用不好学;动态交互和仪表板/大屏对个人来说编程语言类不容易实现,一般要交互和大屏还是得BI来做;承载数据量对软件来说很重要,要是海量数据卡死那还是没用,不过这一点少数BI有企业版,这也是为什么它们受欢迎,既能迎合个人需求也能满足企业需求;BI类的优点是框架完善,放数据进去就行,但是想深度挖掘,可扩展性就很差;最后一点说的是一些不流行的项目失去市场就会得不到维护,如果选择了这个工具意味着没有售后,会很尴尬。
所以我推荐初学者选择以下十种中的一些。其他的我只给工具链接和简介,如果感兴趣可以自行去了解。
第一类,办公类
1.Excel
首推Excel,无论如何,因为它强大的普及度和实用性也应该排在第一位,人人都可以拿它进行数据分析,这是个人人都会数据分析的时代,但是用它数据分析和挖掘的效果还是得存疑,不是能作出图表就好了,不然还有其他工具什么事?绝大多数可视化功能Excel其实都可以实现,动态交互、仪表板/大屏、预测、地理数据可视化这些Excel都可以实现。但是Excel有个最大的瓶颈就是性能,数据量一大卡的死死的。所以如果只是想做小数据数据分析和可视化就可以只用Excel。
2.PPT
PPT也可以做图表是挺有意思的事,但是它只能是个信息展示的作用,它能处理数据吗?不能。但是如果别人不想知道具体的数据,就想看图,可以用PPT硬画出好看的图来就好了。
3.PS
PS的功能就是P好看的图。数据分析不出来,P出来就好了。
第二类,BI类
这是专为数据分析而生的,从连接数据到可视化输出是一整套解决方案。大部分BI都是如此,但是由于各个厂商的技术实力不同,产品功能强弱也不同。
1.PowerBI
Excel2016版有可视化插件,PowerPivot、PowerView、PowerMap三件套,可以批量处理数据和地图可视化。不过这三个功能集成到了PowerBI里形成了强大的工具。同时微软的产品,PowerBI下可兼容Excel,上也有PowerBI Premium企业版处理大数据,还有机器学习和数据挖掘的功能。它还有完善的社区,以及PowerPivot工坊、PowerBI极客等支持,可以实现绝大部分功能需求。所以我的可视化搭配就是Python+PowerBI。
2.Tableau
Tableau是商业化BI做的非常优秀的软件,专做数据可视化。而微软是工程师思维,提供很多好的功能但是界面中规中矩,与Tableau相比就没有那么好看,另外PowerBI企业版比较贵。Tableau的商业化运作很完善,社区运营、培训文档、企业培训,所以市场欢迎度比较贵。去公司面试一般就会问会不会PowerBI、Tableau或者FineBI。图表丰富、颜色搭配美观、布局设计简单等等众多UI方面做得很好,可扩展性也很好。因此这是可视化工具最好的选择之一。
3.FineBI
国产BI无论是产品还是商业化都做的NO.1的产品。它有粉丝众多的社区,还有丰富的文档,不仅教你使用工具还教你如何数据分析,学习成本低。它也不需要下载软件,在浏览器端就可以便捷使用。国内企业普及度第一,可以说混饭吃的好工具。它也有大数据分析工具FineReport,技术实力、可扩展性都很强,没有学了它还要学别的后顾之忧。
国内有大大小小的BI工具,比如
4.永洪BI:没用过,感觉功能没啥优势,界面不咋好看
5.小马BI:腾讯的产品,可能没抢占到市场,已经停服。
6.BDP:官网很简洁,文档很简洁
7.网易有数BI:和FineBI类似,也是在浏览器中使用,功能差不多,但是社区运营和商业化没有起来,2018年办了一届可视化大赛就没办了,可能市场不及预期。
8.SmartBI:技术实力也很强,跟帆软差不多,但是主打银行、房地产、制造业等传统领域,如果是电商、互联网等行业走可能帆软更合适。
9.QlikView:在国外仅次于PowerBI的工具,功能很强大,但是似乎未中国市场开拓,没有丰富的中文文档和社区。如果英文较好或者做外企可以用这个。
第三类,编程类
A.搞数据分析Python和R是最受欢迎的两种语言,必须具备其中之一。
Python语言(以下工具都是Python第三方库,可通过pip install方式安装)
1.matplotlibpyplot:Python可视化的鼻祖,各种图表和元素丰富,DIY空间大,是Python可视化必备工具之一
2.Seaborn:是建立在matplotlib上的可视化图库,封装的更加简洁,图形、颜色、布局更加优美。它对绘图的封装很好,可以通过少量的代码画出漂亮的图形。擅长统计可视化,是Python可视化必备工具之一。 一个界面就囊括了所有功能。
3.Pyecharts:前面两个工具很好,不过国产的Pyecharts也不差,它基于echarts,图表类型更加丰富、具有交互性,文档清晰,代码简洁。它是用爱搭建的国产良心开源工具,是Python可视化必备工具之一。
4.Bokeh:它的高级版为chartify,这一个和下面要介绍的Plotly都是极力推荐的开源工具。交互功能更丰富,也可以搭建仪表板和大屏,差不多赶上BI的所有功能了,它也是吸取了Python其他优秀工具基础上产生,功能很强大。
5.Plotly:机器学习和数据科学的前端工具,可提供大数据挖掘可视化,它的高级版为Cufflinks。
6.Altair:其实这款也很强大,但是有了前面两个就足以。有付费版本。
7.Dash:基于Web的可视化工具,可以动态交互,适用于移动端。
B.JavaScript语言(不是java语言,它也不是做数据分析,而是Html语言,用于数据可视化,如果是数据分析师学了Python和R,还能再学javascript当然是多条路,但是学习成本很高)
1.D3.js:首要介绍的是这个工具,开发最早,历史悠久,功能强大,如果是做Web数据可视化,这个是必学的工具之一。
2.Echarts:前面说的pyEcharts就是基于这个。所以你看很多工具都是互相取长补短的。
3.Highchart.js:和Echarts起鼓相当,常常拿来比较,不同的是Echarts是百度的,Highchart.js是国外的。
C.R语言(实际更侧重统计数据分析,也有很多丰富强大的包,与python任选其一)
1.ggplot2:最著名的可视化包就是ggplot2,用的最多,是时间the grammer of graphics图形语法学的工具。
2.Ggvis:使用与ggplot2类似的语法描述数据图形;创建丰富的交互式图形,在本地Rstudio或浏览器中使用这些图形。
D.TypeScript语言
1.AntV:蚂蚁金服搞出来跟Echarts差不多,也很强大,是国内实践the grammer of graphics图形语法学的工具。
第四类,Web类
1.RawWeb:基于 D3.js 实现,不依赖服务器或编程语言,可以在数分钟内就轻松完成一些高级数据可视化工作。
第五类,商业类 无论是DataV,FineReport,Sugar等大屏可视化,还是数说立方、魔镜、百度图说都是针对具体行业应用的工具,一般个人使用没有意义,学习成本也比较高。
第六类,其他类 这里包括了前面无法归类,但是又可以参考的一些工具。A.信息类(比如传达新闻信息、趣味性等)
1.Floursh:现在很火的动态排行榜都可以用这个工具来做,有很多种动态可视化图,重在酷炫的效果,善于讲故事。
2.inforgram:很多可视化爱好者推荐的网站,可以制作很好看的信息图。
:专注于信息图设计,可以更快、更容易、更低成本产生高质量成果。
B.地理类
1.mapmob:东京大学开发的网页版地理可视化工具,如果有优质的数据可以制作很酷的图。
2.SandDance:微软开发的地理Web可视化,地图可视化功能很多,可以在PowerBI中找到同名插件(足以见PowerBI的强大了吧)
3.InstantAtlas:网上有人推荐,但是没找到网址。其实如果不是专门搞地理大数据的用不到地理类的网站。
C.时序类
1.Timeline:用于可视化时态数据的 Web Widget,使用此小部件,可以制作漂亮的交互式时间线,交互性强。
2.TimeFlow:是一个开源的时态数据可视化工具。
所有工具都介绍完了,官方链接也一一放在这里,大家可以随时查阅,如果需要产生什么可视化效果可以找对应的工具去尝试,总有一款适合你。
没有任何一个工具或图表能满足你全部需求,所以可以几个工具配合使用互相取长补短,如果一个功能在其他工具可以实现没必要非得花费很大代价在本工具实现。在我看来,最好推荐Excel+PowerBI(Tableau/FineBI)+Python(Seaborn/Bokeh/Pyecharts)完全够用了。
以上就是本次分享的全部内容,想学习更多编程技巧,欢迎持续关注好学编程!
我来说两句