夏海棚 周胜 熊俊杰 孙嘉 曹阳波
摘要:数据可视化主要是借助于图形化手段,清晰有效地传达数据信息,与沟通信息与信息图形、信息可视化、科学可视化以及统计图形密切相关。我们对学生的数据进行分析,可以反映出很多非常有价值的东西。对学生生活与日常消费情况数据的可视化进行分析可以让我们进一步了解当代学生各方面信息,与此同时对其如何理财等等生活规划问题提出合理化建议。我们调用学生数据运用柱状图,饼图,雷达图等方法供用户选择。在Android端,我们可以利用Android提供的SQLite数据库对于数据进行存储,并通过SQLite数据库编写业务逻辑,来让生活中的数据和数据之间建立联系从而实现数据可视化的功能,此外,对于结合地图和热点图的构想,我们可以利用Android对于GPS应用所提供的LocationManager类结合当前一些主流的地图的sdk进行开发从而实现其功能。
关键词:学生;数据可视化;设计;Android
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)36-0216-02
1 背景
随着大数据时代的到来,日常生活中的数据变得越来越复杂,如若对每一个数据都进行分析,势必会浪费大量人力物力与时间,对于数据间错综复杂的关系,如何将学生生活中的数据信息恰当直观的反映出来是我们亟待解决的问题。一幅图胜过千言万语,人类从外界获得的信息约有80%来自视觉系统。现在,利用数据可视化的方法可以使得数据更直观地展现在人们面前,并且生动形象地体现出不同数据中的内容以及它们之间的联系,使得繁复枯燥的数据变得生动有趣。
2 数据可视化的基本思想
数据可视化的基本思想,是将数据库中的每一个数据项看作是一个独立的图形元素,从而将大量的数据集合构成图像,使得用户可以发现隐藏在数据背后的信息并可进行交互式处理的方法、理论和技术。从而将复杂的数据 信息得以更加直观地表达出来。
通过人机交互的技术将抽象的数据表现为直观可视的图形或图像,加强了用户对于数据的理解能力,使得复杂的数据更加容易被人们所理解。
3 学生生活中的数据可视化
3.1 应用
当下,学生群体已经是社会中不可忽视的一部分。在学生校园中存在着很多有价值的研究数据信息,比如学生的成绩,学生日常支出情况等。我们对学生的这些数据进行分析,可以反映出很多非常有价值的东西。况且,如今学生群体早已是流行的风向标,对于学生的数据信息进行分析还可以更加直观地看出当前社会的流行趋势。
3.2 对于学生生活数据的可视化应用
对于需要可视化的学生数据,我們可以把可视化的类型分为数据关系的可视化和数据特征的可视化两种。而数据关系的可视化,我们可以理解为反映学生数据信息之间的关联性,比如说,每个学生每个月的支出的分类的占比情况;而所谓数据特征的可视化则是反映出一个数据的基本特征,比如说,一个学生每年绩点的变化情况。
对于不同的种类我们可以使用不同的可视化方法来实现可视化。
3.2.1 对于学生日常消费情况的可视化
随着各种花呗,白条等分期付款支付方式的完善,现在,分期付款已经成为学生进行网购的一种主流的支付方式,学生应学会管理自己的财务,因此,学会对自己的消费情况进行分析也是非常重要的一环。我们通过编写出一款记账功能的app使得学生可以在里面记录自己的每一笔收入和支出,同时对每一笔款项进行详细的分类与精准的备注。与此同时实现图形化的功能,当学生需要的时候,该功能可以将每一笔的款项进行绘图,例如可对任意学生在某一个时间区间里面的消费数额与种类进行统计,绘制一个饼图,由此直观地反映出学生的消费占比情况。这里可以是日常饮食情况,网购信息,购买日常用品多少或购买书籍数量等支出占比。也可以通过柱形图反映任意学生在某一个时间区间的消费数额大小。通过这些图表,可以帮助学生直观快速地分析出自己的数据信息特点,从而让其科学的制定出自己更加理性的消费计划。
3.2.2 对于学生日常消费区域的可视化
对于学生的生活数据,我们可以通过热度图来对学生的喜好进行分析,我们可以在上面提到的app的基础上开发一个平台,这个平台可以添加当前一些主流的地图的sdk。用户如果觉得一个地方很不错,就可以通过这个平台给这个地方进行点赞的操作,随着某个地方收到的赞的数量的增加,我们可以逐渐在地图上加深这个地方的颜色。由此用户便通过热度图快速发现当前热门与受欢迎的消费场所,为自己提供参考。
4 对于学生生活数据可视化的实现
4.1 数据可视化的方法
4.1.1 传统方法
比较传统的可视化方法有柱状图,折线图,饼图,表格,流程图等。在这里,以柱状图和饼图为例进行说明。
4.1.1.1 柱状图
柱状图一般用于展示二维数据,在一般情况下,用横坐标表示数据的类别,纵坐标表示相应的数据的数值,即利用柱子的高度反映数据的差异,因此柱状图是对单一维度的数据的一种有效的比较方法。
在学生生活数据的可视化中,我们可以利用柱状图的特点,对学生的消费情况类别进行绘制柱状图,这样可以一目了然地看出学生在某段时间区间消费的大致情况。
4.1.1.2 饼图
对于需要进行按比例分析的数据,我们可以将它绘制为饼图。饼图是通过将圆分割为多个扇形来表达不同类别的数据占总体的比例。对于它们之间的大小关系,饼图的功能实际上包含在扩展的柱状图里面了,但是使用饼图意味着要着重强调数据间的比例关系,而不是具体的数值,从而满足了特定的要求。
4.1.2 雷达图
雷达图是多维数据可视化比较的有效工具,其是由多个同心圆和一组坐标组成的图形,能够将多个指标映射到一个坐标系上进行比较分析。可以展现出数据集中各个数据的权重的高低情况。
根据雷达图的特点,我们可以把学生生活数据中不仅需要一目了然看出差距,还要看出其在整体中所占的比重的数据信息绘制为雷达图的形式。例如:学生在一段时间区间中的各项支出数据,以及其在整体中的占比情况。
4.1.3 地图与热度图
地图常因具有存储、展示和分析空间数据的属性信息等功能,而被作为一种可视化的表达工具,用于展示与空间数据相关的信息。热度图通常与地图配合使用。其原理就是通过在地图上用特殊高亮的形式显示用户所热衷的地理区域的图示。从而告诉你地图的哪些部分吸引了更多用户的注意。
針对热度图的特点,我们可以把学生生活数据信息中需要和空间相结合的数据信息在地图上附加绘制出热度图,借此反映出学生的爱好等各种数据信息。
4.2 在Android上实现对于学生生活数据的可视化
4.2.1 对于数据的存储:SQLite数据库
Android系统集成了一个轻量级的数据库:SQLite,SQLite本质上只是一个嵌入式的数据库引擎,专门适用于资源有限的设备(智能手机,平板电脑等PDA产品)上适量的数据存取。从本质上看,SQLite的操作方式只是一种便捷的文件操作,当用户创建或打开一个SQLite数据库时,其实只是打开了一个文件准备进行读写。
Android提供了SQLiteDatebase代表了一个数据库,一旦应用程序获得了代表指定数据库的SQLiteDatebase对象,就可以通过该对象来进行管理和操作数据库。
4.2.2 基于SQLite数据库在Android端对学生生活数据进行可视化
我们可以在数据库中先创建表,通过表来管理我们所需要的数据。例如:我们如需对用户平时的消费数据进行可视化分析,那么我们可以创建一张表,里面记录了用户近一段时间的各种支出的金额以及种类情况。将数据插入数据表时,我们在布局设计上,存在一组单选按钮、一个输入框,一个Button组件,通过一个Button组件将输入框、单选按钮与数据表建立联系,当事件监听器监听到单击按钮事件发生时,将输入框中的数据,还有单选按钮对应的内容插入到数据表之中。又当我们要对数据进行可视化的分析时,需要在布局界面上增加一个Button组件,当单击这个组件时,我们可以通过开发自定义的View来实现在一个新的界面上绘制自己想要的外观。由此,我们可以通过读取SQLite数据库中关于学生消费情况表的数据来在新的界面上绘制自己所需的图形。
以学生的日常开销数据为例:
当我们需要使用柱状图对数据进行可视化时,我们以所有的开销种类作为横轴,以开销的金额数量作为纵轴,读取数据表中每一项开销种类所对应的数据信息,再通过合适的比例绘制出每一个柱相应的高度。
我们还可以使用折线图来反映每一个种类的开销在一段时间区间中的趋势。我们以相同的时间间隔作为横轴,以当前选择种类的开销金额数量作为纵轴。对应每段时间内的开销,通过折线将点连接起来,就可以反映出该种类在当前时间段中的趋势。
当我们需要观察每个种类开销在总开销中的占比时,我们可以使用饼图来对数据进行可视化。我们首先要计算出每个种类的金额在总的开销金额中的占比,然后将圆划分为于金额占比大小相同的几个扇形区域,并用不同的颜色对其进行填充。
4.2.3 对于Android中GPS的应用:整合Map服务(使用热度图进行数据可视化)
Android为GPS功能支持专门提供了一个LocationManager类,所有GPS定位相关的服务、对象都由该对象来产生。程序并不能直接创建LocationManager的实例,而是通过调用Context的getSystemService()方法来获取,一旦在程序中获得LocationManager的对象之后,就可以调用其方法,来获取GPS定位的相关服务和对象,但是通过以上方法所获得的GPS定位信息只不过是一些数字的经纬度,我们需要首先把这些经纬度数值首先通过Map服务整合起来,然后整合数据以此来实现对于在地图上绘制热度图来对数据进行可视化的分析。
例如笔者在上文所提及的,设计一个集合了各种地图的sdk的平台,通过GPS定位,一个用户若是觉得某个地方很不错,就可以给这个地方点赞,同时将这个地点的经纬度传送到后端服务器上。当查看热度图时,系统从后端服务器调取数据,通过相应的密度计算的算法将点赞集中的区域的设置为高亮的形式,这样就可以通过热度图来反映学生对什么地方感兴趣,从而给其他学生用作参考数据。
5 结束语
学生的生活数据信息是一个比较复杂的对象。如果我们想从这些复杂的数据关系中挖掘出有价值的信息,便可通过数据可视化的技术对其进行处理使得这些数据信息更为直观地呈现在用户面前。在可视化的过程中,数据将会变得更具备可塑性、可行性,最终更加人性化。由此帮助用户完善自己的日常生活,提高用户的生活质量。
参考文献:
[1] 李刚.疯狂的Android讲义[M].3版.北京: 电子工业出版社,2015.
[2] Julie Steele, Noah Iliinsky. 数据可视化之美[M]. 北京:机械工业出版社.
[3] 任磊,杜一,马帅,等.大数据可视分析综述[J].软件学报, 2014, 25(9).
[4] 陆遥.数据可视化探索系统的设计和实现[D]. 杭州: 浙江大学, 2016.
[5] 杨小芳.网络数据的可视化研究与实现[D]. 北京: 北京邮电大学, 2016.
[6] 古恒.信息可视化技术研究与实现[D]. 北京: 北京邮电大学, 2016.
[7] 赵健霏.信息网络可视化分析系统研究与实现[D]. 北京: 北京邮电大学, 2016.
[8] 吴春姗.医疗数据挖掘可视化系统的研究与实现[D]. 北京: 北京邮电大学, 2017.
[通联编辑:谢媛媛]