基于Matplotlib库数据可视化设计与实现毕业论文
2021-11-05 19:16:47
摘 要
当今社会人工智能人人都会有所提及,我们让人类的判断逐渐被自动化取代(自动驾驶等等)。可是,人类依然有一个环节是无法让机器取代的,可视化便是这个环节。以计算机科学的角度看来,依靠计算机和数字图像处理的一种技术即为数据可视化,用图表的形式取代了数据并成为用来进行交互式数据处理的一种绘图方法和可视化技术。目前有三个著名的称为python的绘图第三方工具包在对数据的可视化处理方面比较著名:matplotlib,seaborn以及sagplot。以下几个主要优点可以直接用来描述本文所需要使用的matplotlib:可以作为python的2D绘图库,Matplotlib可以轻易画出各种统计图形得益于它基于Numpy的数组运算功能, 统计图形包括散点图、柱状图、折线图等。级别较高的图形可以让它通过各种硬拷贝格式和跨平台的交互式环境生成。面向对象、易读、易维护、代码简洁优美等等都是继承于Python。
关键词:Matplotlib;大数据;可视化;
Abstract
Artificial intelligence is mentioned by everyone in today's society. Our human judgment is gradually replaced by automation (automatic driving, etc.). However, there is still an irreplaceable link of human machine, and visualization is this link. From the perspective of computer science, one of the methods and technologies that rely on computer and digital image processing technology is data visualization. Three famous third-party Python graphics data visualization software packages are called: Matplotlib Seaborn and gplot. The following advantages can be used to describe the Matplotlib used in this paper: as a python two-dimensional drawing library, Matplotlib can easily draw a variety of statistical graphs, including more advanced scatter plot nomographs, because of its operation based on the numpy array, allowing them to generate object-oriented, readable, maintainable and concise through various hard copy formats and cross platform interaction environment Elegant code, etc. , inherited from python.
Key Words:Matplotlib;Big data;Visualization
目录
第1章 绪论 1
1.1 项目背景和意义 1
1.2 国内外研究现状 1
1.2.1 国内研究现状 1
1.2.2 国外研究现状 2
1.3 课题研究内容 3
1.4 预期目标 3
第2章 相关技术介绍 4
2.1 Python数据分析及可视化相关库 4
2.1.1 Numpy 4
2.1.2 Seaborn 4
2.2 Anaconda 4
2.3 Spyder 4
第3章 需求分析 6
3.1需求概述 6
3.2 系统功能性需求 7
3.2.1 业务逻辑部分 7
3.2.2 实体管道层部分 7
3.2.3 调度器部分 7
3.2.4 服务层部分 7
3.3 系统非功能性需求分析 8
3.3.1 稳定性 8
3.3.2 安全性 8
3.3.3 可维护性 8
3.3.4 可扩展性 8
3.3.5 灵活性 9
第4章 可视化系统建立 10
4.1 系统的设计原则与目标 10
4.2 系统体系结构设计 10
4.3 系统功能结构设计 12
第5章 系统的详细设计与实现 15
5.1 代理池服务的设计与实现 15
5.1.1 获取模块的设计 16
5.2 Cookies池服务的设计与实现 17
5.3 中间件模块的设计与实现 18
5.4 实体管道模块的设计与实现 18
5.5 爬虫模块的实现 18
5.6 索引模块的实现 20
5.6.1 配置并建立索引 20
5.6.2 中文分词的实现 21
5.7 系统运行与测试 22
5.7.1 系统运行 22
5.7.2 系统测试 23
结论 26
参考文献 27
致谢 28
附录A 程序源代码 28
第1章 绪论
本章节先阐述项目背景和意义,再分析国内外发展现状的分析说明本系统设计的必要性,并简要介绍课题研究内容和该项目的预期目标。
1.1 项目背景和意义
我们现在处在的高度信息化的社会,每时每刻都在产生大量的数据。我们的视觉拥有现阶段最大的处理带宽,使用表格和图片可以帮助分析人员更快地掌握数据集的特征。数据可视化是将抽象的思想转化为图像,抽象的语言转化为具体的语言的过程。
可视化分析[1]是大数据分析领域的一个举足轻重的划分,常常被广泛使用在科学计算研究以及商业智能领域。可视化分析是科学可视化、信息可视化、人机交互、认知科学、数据挖掘、信息理论、决策理论等研究领域交叉融合而产生的一个新的研究方向[2]。十多年前,可以存储在数据存储容器中的数据量已经有了质的提高,所以我们可以存储大量的数据。但是我们存储的大多数数据都是毫无价值的原始数据。必须在挖掘出里面的信息后,才可以找到里面的价值。人类处理视觉信息的速度是非常快的,我们可以迅速捕获潜藏在数字里面的重要信息。所以,数据可视化便是提取关键信息的最佳方案。
对于系统来说,最主要的目标是尽可能多的爬取到数据,并将数据持久化存储下来。在这里,爬取目标网站包括智联。由于数据量级特别大,单节点的爬虫其实很难满足高效率的爬取,所以可以考虑用多个爬虫节点来实现分布式爬取。而脉脉的数据量相对较少,可以考虑使用单爬虫节点。
许多网站虽然在没有登录的情况下,可以访问部分页面或者接口。但是,尽管如此,仍然有很多限制。比如部分页面只能在登录之后才能访问到其资源,又或者在请求过于频繁的情况下,访问的频率被限制或IP可能直接被封禁掉。但是如果登录后,这种情况发生的概率就会大大降低,登录之后被反爬禁止掉的可能性也就小很多了。