周洪斌 陈立平 刘连浩
(沙洲职业工学院,江苏 张家港 215600)
数据是枯燥、抽象的,而图形、图像却富有表现力和生动性。数据可视化将各种数据用图形化的方式展示,为数据分析提供了更加直观的显示方式[1],是人们理解数据、诠释数据的重要手段和途径。ECharts是国内百度公司推出的一款开源大数据可视化工具[2],具备千亿级数据可视化渲染能力,支持折线图、饼图、热力图、漏斗图、词云图等丰富的可视化类型,支持二维表、键值对等多种数据格式,并且具有数据的动画展示、三维展示功能,已在国家统计局、国家电网、阿里巴巴、华为等众多机构和企业使用。2018年,全球顶级开源社区Apache基金会宣布 “百度开源的ECharts项目全票通过进入Apache孵化器” ,ECharts发展进入快车道。
ECharts由JavaScript实现,使用非常方便,从官网https://echarts.apache.org/zh/download.html下载安装包,解压得到echarts.js文件,与HTML文件放到同一目录下,在HTML文件中通过下面的代码引用echarts.js文件,即可使用ECharts。
ECharts的常用组件包括标题、坐标轴、数据系列、图例等,具体说明如表1所示。
表1 ECharts常用组件
按照表1的说明,使用ECharts组件显示某地区2020年1-3季度农业产值柱形图,代码如下:
图1 使用ECharts展示某地区2020年1-3季度农业产值柱形图
pyecharts是一款Python与ECharts结合的可视化工具,用于大数据可视化。可以通过下面的命令安装pyecharts:
使用pyecharts实现图1所示的柱形图。
(1)导入pyecharts绘制柱形图所需的模块
(2)提供要显示的数据
(3)设置柱形图的X轴以及Y轴数据
(4)设置标题以及坐标轴名称
(5)展示图形
借助Python强大的数据获取能力,结合pyecharts,可以实现数据的自动爬取、可视化展示。
网站http://www.pm25x.com/提供全国各大城市PM2.5指数和空气质量指数实时监测数据查询[3],包括每个监测点发布的AQI指数、首要污染物、空气污染状况和变化等信息,数据1小时更新一次。我们可以通过Python爬取某个城市各个监测点的PM2.5数据。
以爬取南京市各个监测点的PM2.5数据为例,打开页面http://www.pm25x.com/city/nanjing.htm,可以看到如图2所示的某个时刻南京市各个监测点的PM2.5数据。
分析该页面结构,各个监测点的信息是以表格的形式显示的,部分代码如下:
图2 某时刻南京市各个监测点的PM2.5数据
因此,可以用requests包爬取网页内容,然后使用BeautifulSoup对网页进行解析[4],获取表格中的数据。需要注意的是,表头数据不是我们所需要的,提取时要略过表头。
(1)导入包
(2)定义X轴、Y轴数据
(3)爬取数据
#获取表格所有行并略过表头
将上一步爬取的数据通过pyecharts展示,效果如图3所示。
图3 某时刻南京市各监测点的PM2.5数据可视化展示图
主要步骤如下:
(1)设置折线图的X轴以及Y轴数据
(2)设置图形标题以及X轴、Y轴名称
(3)展示图形
通过数据可视化将枯燥的数据以直观、友好的方式展现出来,可以使数据变得更加通俗易懂,改善数据分析效果。大数据时代,数据可视化的需求越来越大,依靠可视化手段进行数据分析已成为大数据分析的主要环节之一。ECharts提供了直观、生动、可交互、可高度个性化定制的数据可视化图表,pyecharts将Python与ECharts相结合,可以实现数据爬取、处理及可视化,使数据呈现更加快捷、灵活、高效。