Python数据可视化神器:pyecharts (一)
本文作者:张 邯
本文编辑:杨慧琳
技术总编:张学人
有问题,不要怕!访问
http://www.wuhanstring.com/uploads/5_aboutus/爬虫俱乐部-用户问题登记表.docx (复制到浏览器中)下载爬虫俱乐部用户问题登记表并按要求填写后发送至邮箱statatraining@163.com,我们会及时为您解答哟~
爬虫俱乐部的github主站正式上线了!我们的网站地址是:https://stata-club.github.io,粉丝们可以通过该网站访问过去的推文哟~
爬虫俱乐部隆重推出数据定制及处理业务,您有任何网页数据获取及处理方面的难题,请发邮件至我们邮箱statatraining@163.com,届时会有俱乐部高级会员为您排忧解难!
大数据时代的到来,让“数据”二字频繁出现在我们的生活中。就像“书”之于古人,数据对我们来说也是其中自有“黄金屋”、“颜如玉”的。但是面对一组组数字组成的表格,我们并不能迅速获得信息;在介绍数据时,如何展示数据以便得到结论和启发也成为一个重要的难题。由此,作为一门科学技术,数据可视化应运而生。
在介绍一组数据时,一张图永远比一串数据更有说服力,并且图表越直观简练,效果越好。百度开发的Echarts就是众多数据可视化神器之一,代码开源免费,在官网上还可以在线生成图表并下载,它的功能强大,可以实现数据视图、图表动态类型切换、图例开关、数据区域选择、多图联动等很多功能,但由于Echarts是基于JavaScript开发的,对JavaScript不甚熟悉的Pythoner们,只能对着大神们制作的各种炫酷图表望洋兴叹。所谓有需求就有创造,GitHub上就有了相关的项目。今天为大家介绍现下最流行的Python库,也是Echarts官网上推荐的Python语言中的扩展库——pyecharts,它覆盖了Echarts的全部图表和大部分功能,让我们在Python中也能使用如此高大上的数据可视化神器~
我们可以通过pip安装pyecharts。运行cmd,输入如下命令:
pip install pyecharts
在官方文档中,开发者将它的使用流程分为八个步骤:
对于不同类型的图表,在第一步创建图表实例的时候选择的类是不同的,常见的基础类型有柱状图/条形图(Bar)、饼图(Pie)、折线图/面积图(Line)等,还有炫酷的3D图表、地图、词云图和热力图等基本图表类共27个,通过参数配置,还可以变换出各种各样的具体图表,是不是想想就很兴奋呢!那么接下来,我们以最简单的柱状图为例,进行一个quick start吧~
第一步,导入相关模块:
from pyecharts import Bar
第二步,创建Bar实例:
bar = Bar('柱状图示例','以简单的服装数据为例')
其中,命令中的两个参数分别是图表的正标题和副标题,可以为空。
第三步,添加数据:
bar.add('服装',["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"], [5, 20, 36, 10, 75,90])
这条命令中的三个参数是必选参数,其中,第一个参数为图例,第二、三个参数为横坐标和纵坐标上的数据,这两组数据都以列表的形式输入,而且列表中的元素个数必须相等。
我们先使用默认的配置和模板,直接跳到渲染一步:
bar.render(r'E:\\pyecharts\\my_first_chart.html')
其中.render( )可以输入文件名作为参数,直接生成目标html文件。
以上四条命令,即可生成一个最最基础款的柱形图,效果如下图:
注意观察图的右侧,有一排小按钮,它们实现了诸如下载、刷新、查看或更改数据、切换折线图等功能。其中,将数据从柱状图向折线图切换,是Bar组件本身所自带的功能,也是Echarts提供的功能选项之一,我们在代码上只需要载入确定的数据即可。此处简单展示一下部分功能:将图表切换至折线图,并保存成.png格式的图片,如下图所示:
接下来,让我们再加入一组数据,做成一个堆叠柱形图。
同样需要导入模块,创建图表实例:
from pyecharts import Bar
bar = Bar("柱状图数据堆叠示例")
这次我们需要两组数据,为了程序结构清晰,我们先将数据放入列表中:
attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
v1 = [5, 20, 36, 10, 75, 90]
v2 = [10, 25, 8, 60, 20, 80]
我们依然展示六类服装的数据,但这次我们展示两个商家的,v1和v2分别为商家A和商家B的销售数据。然后将数据添加到bar实例:
bar.add("商家A", attr, v1,is_stack=True)
bar.add("商家B", attr, v2,is_stack=True)
其中,前三个参数与之前介绍的意义一样,另一个关键字参数为is_stack,当值为True的时候实现数据堆叠。
设置好了之后,渲染导出:
bar.render(r'E:\\pyecharts\\my_second_chart.html')
Echarts图表是有图例开关的,单击图中正上方的两个图例可以实现数据的开和关,当图例变灰的时候,数据将不再展示。我们分别将其中一组数据关闭进行展示:
怎么样?是不是非常简单但强大!在下一篇文章中,我们将具体介绍一些常见的图表及其配置的参数,为大家提供更多元化的选择~
爬虫俱乐部是您身边的科研助手,能够为您在数据处理、实证研究中提供帮助。承蒙近四万粉丝的支持与厚爱,我们在腾讯课堂推出了网络视频课程,专注于数据整理、网络爬虫、循环命令编制和结果输出…李老师及团队精彩地讲解,深入浅出,注重案例与实战,让您更加快速高效地掌握Stata技巧及数据处理的精髓,而且可以无限次重复观看,在原有课程基础上已上传了全新的内容!百分百好评,简单易学,一个月让您从入门到精通。绝对物超所值!观看学习网址:
https://ke.qq.com/course/286526?tuin=1b60b462,
敬请关注!
对爬虫俱乐部的推文累计打赏超过1000元我们即可给您开具发票,发票类别为“咨询费”。用心做事,只为做您更贴心的小爬虫!
往期推文推荐
关于我们
微信公众号“爬虫俱乐部”分享实用的stata命令,欢迎转载、打赏。爬虫俱乐部是由李春涛教授领导下的研究生及本科生组成的大数据分析和数据挖掘团队。
此外,欢迎大家踊跃投稿,介绍一些关于stata的数据处理和分析技巧。
投稿邮箱:statatraining@163.com
投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到关于stata分析数据的问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。