最近和鲸社区的大佬们,不约而同地写起了可视化库的教程
虽然对于我们这种吃瓜群众来说是件好事,但
大概大佬的快乐往往就是那么的朴实无华且枯燥吧。害,管他呢,赶紧拿出来给大家瞅瞅。
今天提及的5个Python可视化库分别是 Matplotlib · Seaborn · Bokeh · Plotly · Pyecharts。
其实单独看后4个库,每个都是炫酷的代名词,但既然今天大家都同框了,方小鲸就简单地将他们做个比较,从4个方面看看他们之间的区别,以便大家各取所需的学到适合自己的可视化库。
Round 1
· 简单的折线图 ·
这一部分使用5个库可视化了同一组数据, 我们同时展示了可视化这组数据时需要的代码,以及可视化之后,默认呈现的一些功能
· Matplotlib ·
· Seaborn ·
· Bokeh ·
· Plotly ·
· Pyecharts ·
从以上的结果看来,Seaborn如果不选用样式,那么效果和matplotlib无二;Bokeh好看了那么一丢丢,自带图片的缩放功能;Plotly和Pyecharts的代码复杂程度稍有增加,但是提供的标签效果好看
Round 2
· 功能 ·
有些同学,诉求可能仅仅是画出高精度的图片,用于撰写论文;而有些同学需要对地图数据进行操作,故需要特定功能;又有些同学,需要炫酷的交互来展示海量数据。
所以,方小鲸去这几个库的官网gallery逛了一下,针对本鲸比较关注的几个功能做了整理统计。
○支持的不是很好
可以得出的结论是,seaborn就是个matplotlib的封装,功能比较有限;Pyecharts虽然动效做的好看,但是控件无法定制;Bokeh控件玩法多样,但输在做3D和动画要装插件;相较之下Plotly在功能上完胜。
Round 3
· 能力边界 ·
为了让大家更深刻地理解这些库,本鲸找了一些炫酷的作品,希望可以给大家带来视觉上的冲击,从而更有动力地学习这些库。
· Matplotlib ·
· Seaborn ·
· Bokeh ·
· Plotly ·
· Pyecharts ·
Round 4
· 总结陈词 & 教程 ·
· Matplotlib ·
Matplotlib是Python数据可视化库中的泰斗,它已经成为python中公认的数据可视化工具,通过Matplotlib可以很方便的设计和输出二维以及三维的数据,其提供了常规的笛卡尔坐标,极坐标,球坐标,三维坐标等,其输出的图片质量也达到了科技论文中的印刷质量,日常的基本绘图更不在话下。
· 教程 ·
· Seaborn ·
Seaborn是基于matplotlib的图形可视化python包,它在matplotlib的基础上进行了更高级的API封装,提供了一种高度交互式界面,从而使得作图更加容易,便于用户能够做出各种有吸引力的统计图表。它能高度兼容numpy与pandas数据结构以及scipy与statsmodels等统计模式。
Seaborn利用matplotlib的强大功能,几行代码就能创建漂亮的图表。其与matplotlib主要的区别是Seaborn的默认样式以及更美观、更现代的调色板设计。
· 教程 ·
· Bokeh ·
Bokeh是一个专门针对Web浏览器的呈现功能的交互式可视化Python库,支持现代化web浏览器展示(图表可以输出为JSON对象,HTML文档或者可交互的网络应用),这是Bokeh与其它可视化库最核心的区别。它提供风格优雅、简洁的D3.js的图形化样式,并将此功能扩展到高性能交互的数据集,数据流上。使用Bokeh可以快速便捷地创建交互式绘图、仪表板和数据应用程序等。
Bokeh能与NumPy,Pandas,Blaze等大部分数组或表格式的数据结构完美结合。
· 教程 ·
· Plotly ·
Plotly是一个开源,交互式和基于浏览器的Python图形库,可以创建能在仪表板或网站中使用的交互式图表(可以将它们保存为html文件或静态图像)。Plotly基于plotly.js,而plotly.js又基于D3.js,因此它是一个高级图表库,与Bokeh一样,Plotly的强项是制作交互式图 ,有超过30种图表类型, 提供了一些在大多数库中没有的图表 ,如等高线图、树状图、科学图表、统计图表、3D图表、金融图表等。plotly绘制的图能直接在jupyter中查看,也能保存为离线网页,或者保存在plot.ly云端服务器内,以便在线查看。
· 教程 ·
· Pyecharts ·
Pyecharts是基于 Echarts 开发的,是一个用于生成 Echarts 图表的类库。Echarts 是百度开源的一个数据可视化 JS 库,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。更重要的是,该库的文档全部由中文撰写,对英文不是很好的开发者尤其友好。而Pyecharts,实际上就是 Echarts 与 Python 的对接。
· 教程 ·
※ 特别鸣谢:AwesomeTang
数据集 / COVID-19 / 真实业务场景 / 奥运、体育 / NLP /
教程 / 30天吃掉那只TensorFlow2.0 / TensorFlow114题 / 吴恩达《机器学习》、《深度学习》 / 量化投资1 / 量化投资2 / Pyecharts / 机器学习90题 / 深度学习170题 / Pandas 50题 / Numpy 100题 / Pytorch 60题 /
项目 / 疫情数据可视化专题 / 数据分析师成长之路 / 电商用户行为 / 18个好看的数据分析项目 / 数据分析师岗位还吃香吗? /
比赛 / 数智医保 / DataJoy® 练习赛 / 上外语料库:用NLP研究政治 /