尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

毕设项目分享 基于大数据的游数据分析可视化系统(源码分享)

毕设项目分享 基于大数据的游数据分析可视化系统(源码分享) 文章目录0 简介1 课题背景2 数据处理3 数据可视化工具3.1 django框架介绍3.2 ECharts4 Django使用echarts进行可视化展示mysql数据库4.1 修改setting.py连接mysql数据库4.2 导入数据4.3 使用echarts可视化展示5 实现效果5.1前端展示5.2 后端展示最后0 简介今天学长向大家分享一个毕业设计项目毕业设计 基于大数据的游数据分析可视化系统(源码分享)演示效果毕业设计 大同旅游数据分析可视化系统项目分享见主页任意置顶文章1 课题背景精神文明日益发展的今天, 出行旅游成为人们的主要休闲方式和社会经济活动, 旅游业不仅能推动多个产业的发展, 调节产业结构, 同时也满足了人们日益增长的文化需要。其越来越成为国民经济的重要支撑。相关数据显示, 疫情平稳期间的旅游人数仍然稳中有增。而与之相对应的是海量的无序化旅游数据日益激增。针对有效旅游数据进行准确分析、 合理预测有助于制定与旅游发展相关的规划, 同时能有效地帮助后续在旅游设施分配和资源调度等方面上制定明智的决策, 发挥旅游信息价值的最大化。由此可知, 旅游经济的发展与对数据的合理分析是密不可分的。2 数据处理采用Python爬虫技术对某大同市旅游景点数据进行采集用Python中的Pandas库对采集到的数据进行整理, 首先将旅游数据转化成DataFrame格式, 再从多个维度和角度进行处理分析。使用isnull函数选取查看缺失值占总数据百分比大于90%的列名及其数值, 认为它在数据分析中提供极其有限信息, 所以直接删除。对缺失数据采用fillna函数根据数据的不同类型进行了固定值填充, 异常值(也称为离群值)检测是一个重要的部分, 用duplicated函数表示重复行的布尔系列值, 返回缺失总数后进行去重。采用选择(loc)、 分组(groupby)、 连接(merge)、 汇总统计(mean)等方法进行数据的统计与处理。处理完后利用其自带接口将数据存入到mysql数据库中。3 数据可视化工具3.1 django框架介绍数据可视化是数据处理中的重要部分Django是一个基于Web的应用框架由python编写。Web开发的基础是B/S架构它通过前后端配合将后台服务器的数据在浏览器上展现给前台用户的应用。Django本身是基于MVC模型即Model模型View视图 Controller控制器设计模式View模块和Template模块组成了它的视图部分这种结构使动态的逻辑是剥离于静态页面处理的。 Django框架的Model层本质上是一套ORM系统封装了大量的数据库操作API开发人员不需要知道底层的数据库实现就可以对数据库进行增删改查等操作。Django强大的QuerySet设计能够实现非常复杂的数据库查询操作且性能接近原生SQL语句。Django支持包括PostgreSQL、My Sql、SQLite、Oracle在内的多种数据库。Django的路由层设计非常简洁使得将控制层、模型层和页面模板独立开进行开发成为可能。基于Django的Web系统工程结构示意图如图所示。从图中可以看到一个完整的Django工程由数个分应用程序组成每个分应用程序包括四个部分(1)urls路由层决定Web系统路由结构控制页面间的跳转和数据请求路径(2)views视图层业务层主要进行逻辑操作和运算是前端页面模板和后端数据库之间的桥梁。Django框架提供了大量的数据库操作API开发人员甚至不需要使用SQL语句即可完成大部分的数据库操作。(3)models模型层Web应用连接底层数据库的关键部分封装了数据库表结构和实现。开发人员可以在Model层按照Django的指令要求进行建表无须使用SQL语句或者第三方建表工具进行建表。建表的过程类似于定义变量和抽象编程语言中的类非常方便。(4)templates模板层HTML模板文件后端数据会填充HTML模板渲染之后返回给前端请求。考虑到项目周期尽可能小尽快完成平台的搭建项目决定采用开源的Django框架开发整个系统的Web应用层。3.2 EChartsEChartsEnterprise Charts是百度开源的数据可视化工具底层依赖轻量级Canvas库ZRender。兼容了几乎全部常用浏览器的特点使它可广泛用于PC客户端和手机客户端。ECharts能辅助开发者整合用户数据创新性的完成个性化设置可视化图表。支持折线图区域图、柱状图条状图、散点图气泡图、K线图、饼图环形图等通过导入 js 库在 Java Web 项目上运行。4 Django使用echarts进行可视化展示mysql数据库4.1 修改setting.py连接mysql数据库# settings.py 文件DATABASES{default:{ENGINE:django.db.backends.mysql,# mysql 数据库名NAME:my_db,# mysql 登陆用户名USER:root,# myslq 登陆密码PASSWORD:123456,HOST:localhost,PORT:3306,}}4.2 导入数据可以直接在 mysql 数据库中添加数据也可以使用超级用户在 admin 管理页面中添加数据fromdjango.dbimportmodels# Create your models here.# 然后输入# python manage.py makemigrations #数据库变动的记录并不会帮你创建表# python manage.py migrate #将你的数据库变动同步到数据库中这下才是真正创建表了classCityall(models.Model):idmodels.AutoField(primary_keyTrue)citynamemodels.CharField(max_length100,blankTrue)renqimodels.CharField(max_length100,blankTrue)hotmodels.CharField(max_length100,blankTrue)classMeta:db_tablecityall数据库内容4.3 使用echarts可视化展示设置静态文件目录即 static 目录# settings.py 文件STATICFILES_DIRS(os.path.join(BASE_DIR,static),)创建如下目录结构js 目录中为 echarts的 js 文件大家可以在 echarts官网下载自己需要的版本index.html 文件内容如下#部分代码不完整!DOCTYPEhtmlhtmlheadmetacharsetutf-8title大同市旅游景点可视化系统/titlescriptsrc/static/jquery/jquery-1.8.3.min.js/scriptscriptsrchttps://libs.baidu.com/jquery/1.10.2/jquery.min.js/scriptscriptsrchttps://cdn.bootcdn.net/ajax/libs/echarts/4.2.1/echarts.min.js/script/headbodydivclasscontainer-headerulclassnowTimeli/lili/li/uldivclasslocationiclassicon iconfont icon-buoumaotubiao23/ispanclassareaName/span/divh3stylefont-size:28px;大同市旅游景点可视化系统/h3/divdivclasscontainer-contentdivclasstopdivclasscount-basedivclasscom-count-titleA级景区比例/divdivclasscom-screen-contentdividmain1stylewidth:100%;height:300px;/div/divspanclassleft-top/spanspanclassright-top/spanspanclassleft-bottom/spanspanclassright-bottom/span/divdivclasscount-resource q1divclasscom-count-title旅游资源统计/divdivclasscom-screen-content2ulclassuse-datalipclassdata-countidjinqunum0/pspanclassdata-nameA级景区/span/lilipclassdata-countidjiudiannum0/pspanclassdata-name星级酒店/span/lilipclassdata-countidlvxingshe0/pspanclassdata-name旅行社/span/li/uldivclasscom-screen-contentdividmain2stylemargin-top:10px;width:100%;height:240px;/div/divspanclassleft-top/spanspanclassright-top/spanspanclassleft-bottom/spanspanclassright-bottom/span/div/divdivclasscount-resource q2divclasscom-count-title游记数据/divdivclasscom-screen-contentulclassdata-labelliclassactivedata-type1游记/li/ululclassuse-data/uldividmain3stylemargin-top:10px;width:100%;height:240px;/div/divspanclassleft-top/spanspanclassright-top/spanspanclassleft-bottom/spanspanclassright-bottom/span/div/div......编写 views.py 文件将数据库中的数据传到前端页面中importjsonfrommultiprocessingimportconnectionfromsqlite3.dbapi2importIntegrityErrorfromdjango.coreimportserializersfromdjango.core.serializers.jsonimportDjangoJSONEncoderfromdjango.formsimportmodel_to_dictfromdjango.httpimportHttpResponse,JsonResponsefromdjango.shortcutsimportrenderdefindex(request):# print(request.method) #获取请求方式GET或POSTreturnrender(request,index.html)# 回复一个页面5 实现效果使用的数据是处理好后导入到mysql数据库中的数据现在我们来看一下展示效果运行python manage.py runserver5.1前端展示![image-20220711175134038](C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220711175134038.png5.2 后端展示演示效果毕业设计 大同旅游数据分析可视化系统最后项目分享见主页任意置顶文章
返回列表