文章目录
0 简介1 主题背景2 数据处理3 数据可视化工具3.1 Django 框架概述3.2 ECharts
4 Django使用echart进行可视化展示(mysql数据库) 4.1 修改settings.py连接mysql数据库4.2 导入数据4.3 使用echart进行可视化展示
5 引入效果5.1 前端展示5.2 后端展示
6 最后
0 前言
近两年来,毕业设计和答辩的要求和难度不断提高,传统的毕业设计往往缺乏创新和亮点,不符合毕业答辩的要求。向学长传达项目的系统不能满足教师的要求。
我们愿意分享高年级学生的优质毕业设计,让您轻松顺利完成毕业设计。
**基于Python的出行数据分析与可视化系统**
这里,学长们会对题目进行综合评分(每题5分)
难度:3分努力程度:4分创新性:4分
选题、项目分享指导:见文末
1 课题背景
在精神文明发展的今天,旅游观光已成为人们休闲和社会经济活动的主要方式,旅游不仅带动了多种产业的发展、调整产业结构,而且促进了人们的发展。也满足了日益增长的文化需求。已成为国民经济日益重要的支撑。相关数据显示,疫情稳定期间,游客数量仍在稳步增长。与之相对应的是,大量无组织的旅游数据日益增多。对有效旅游数据的准确分析和合理预测,有助于制定旅游发展相关规划,也有助于后续旅游设施配置、资源调度等方面的明智决策,发挥旅游信息价值的最大化。可见,旅游经济的发展离不开数据的理性分析。
2 数据处理
利用Python爬虫技术采集大同市旅游景点数据,并利用Python的Pandas库对采集到的数据进行整理。首先将旅游数据转换为DataFrame格式,然后进行多维度、多方面的处理和分析。使用isnull函数选择缺失值占总数据90%或以上的列名及其值。数据分析中提供的信息被认为非常有限,将直接删除。 fillna函数用于根据不同类型的数据,用固定值填充缺失的数据。 异常值(也称为离群点)检测用于表示布尔系列值。如果该行重复,则返回缺失数据的总数。
数据统计和处理采用选择(loc)、分组(groupby)、连接(merge)、汇总统计(mean)等方法。处理完成后,使用自己的界面将数据保存到mysql数据库中。
3 数据可视化工具
3.1 django框架介绍
数据可视化是数据处理的重要组成部分
Django 是一个用Python 编写的基于Web 的应用程序框架。 Web开发的基础是B/S架构。 B/S架构通过前后端协作,将后端服务器的数据显示到前端用户的浏览器上的应用程序。 Django本身由MVC模型组成,即视图和模板模块,它允许将动态逻辑与静态页面分开处理。 Django框架的模型层本质上是一个ORM系统,封装了许多数据库操作API,允许开发人员在不知道底层数据库实现的情况下可以执行数据库的添加、删除、修改和查询。 Django 强大的QuerySet 设计允许您实现高度复杂的数据库查询操作,性能接近原生SQL 语句。 Django 支持多种数据库,包括PostgreSQL、My Sql、SQLite 和Oracle。 Django的路由层设计非常简单,允许你分别开发控制层、模型层和页面模板。基于Django的Web系统工程结构示意图如图所示。
正如你所看到的,一个完整的Django项目由多个子应用程序组成,每个子应用程序包含四个部分:
(1) URL路由层:决定Web系统的路由结构,控制页面和数据请求路径之间的跳转。
(2)View视图层:业务层主要进行逻辑运算和计算,是前端页面模板和后端数据库之间的桥梁。 Django框架提供了众多的数据库操作API,允许开发者在不使用SQL语句的情况下完成大部分数据库操作。
(3) Model 模型层:Web应用程序的主要部分,连接底层数据库,封装数据库表的结构和实现。开发者可以按照Django的说明在模型层建表,无需使用SQL语句或第三方建表工具。创建表的过程类似于抽象编程语言中定义变量或类,非常方便。
(4)Template 模板层:HTML模板文件。后端数据输入到HTML模板中,渲染后返回给前端请求。为了尽可能缩短项目周期,尽快完成平台建设,项目决定采用开源的Django框架来开发整个系统的Web应用层。
3.2 ECharts
ECharts(企业图表)是百度开源的数据可视化工具,依赖于底层的轻量级Canvas库ZRender。由于它兼容几乎所有常用浏览器的功能,因此被PC和移动客户端广泛使用。 ECharts帮助开发者整合用户数据,创新性地设置个性化可视化图表。支持折线图(面积图)、柱状图(条形图)、散点图(气泡图)、K线图、饼图(圆环图)等,通过导入js库运行在Java web项目上。
4 Django使用echarts进行可视化展示(mysql数据库)
4.1 修改setting.py连接mysql数据库
# 设置.py 文件
数据库={
\’默认\’: {
\’引擎\’: \’django.db.backends.mysql\’,
#mysql数据库名称
\’名称\’: \’my_db\’,
#mysql登录用户名
\’用户\’: \’根\’,
#myslq登录密码
\’密码\’:\’123456\’,
\’HOST\’: \’本地主机\’,
\’端口\’:\’3306\’,
}
}
4.2 导入数据
可以直接向mysql数据库添加数据,也可以使用超级用户向管理员管理页面添加数据。
从django.db 导入模型
# 在这里创建模型。
#然后输入
# python manage.py makemigrations #记录数据库更改(对于创建表没有用)
# python manage.py merge #将数据库更改同步到数据库(这是真正创建表的时候)
Cityall类(型号.Model):
id=model.AutoField(primary_key=True)
城市名称=models.CharField(max_length=100, 空白=True)
renqi=models.CharField(max_length=100, 空白=True)
热=models.CharField(max_length=100,blank=True)
元类:
db_table=\’城市全部\’
数据库内容:
4.3 使用echarts可视化展示
设置静态文件的目录(即静态目录)。
# 设置.py 文件
STATICFILES_DIRS=(os.path.join(BASE_DIR,\’静态\’),)
创建以下目录结构:
js目录包含echarts js文件。您可以从echarts官网下载您需要的版本。 index.html文件内容如下:
#部分代码,不完整
!DOCTYPE html
html
头
元字符集=\’utf-8\’
title 大同市旅游景区可视化系统/title
脚本src=\’/static/jquery/jquery-1.8.3.min.js\’/script
脚本src=\’https://libs.baidu.com/jquery/1.10.2/jquery.min.js\’/script
脚本src=\’https://cdn.bootcdn.net/ajax/libs/echarts/4.2.1/echarts.min.js\’/script
/头
身体
div class=\’容器头\’
ul 类=\’现在\’
李/李
李/李
/ul
div 类=\’位置\’
i class=\’icon iconfont icon-buoumaotubiao23\’/i
span class=\’区域名称\’/span
/div
h3 style=\’font-size:28px;\’ 大同旅游景区可视化系统
/h3
/div
div class=\’容器内容\’
div 类=\’顶部\’
div 类=\’基于计数\’
div class=\’com-count-title\’A级景区比例/div
div 类=\’com-screen-content\’
div id=\’main1\’ style=\’width:100%;height:300px;\’/div
/div
span 类=\’左上\’/span
span 类=\’右上\’/span
span 类=\’左下角\’/span
span 类=\’右下\’/span
/div
div class=\’计数资源q1\’
div class=\’com-count-title\’旅游资源统计/div
div 类=\’com-screen-content2\’
ul class=\’已使用的数据\’
李
p class=\’data-count\’ id=\’jinqunum\’0 /p
span class=\’数据名称\’ A级景区/span
/里
李
p class=\’data-count\’ id=\’jiudiannum\’ 0/p
span class=\’数据名称\’ 星级酒店/span
/里
李
p class=\’data-count\’ id=\’lvxingshe\’0/p
span class=\’数据名称\’旅行社/span
/里
/ul
div 类=\’com-screen-content\’
div id=\’main2\’ style=\’margin-top:10px;width:100%;height:240px;\’/div
/div
span 类=\’左上\’/span
span 类=\’右上\’/span
span 类=\’左下角\’/span
span 类=\’右下\’/span
/div
/div
div class=\’计数资源q2\’
div class=\’com-count-title\’出行数据/div
div 类=\’com-screen-content\’
ul class=\’数据标签\’
li class=\’active\’ data-type=\’1\’旅行/li
/ul
ul class=\’已使用的数据\’
/ul
div id=\’main3\’ style=\’margin-top:10px;width:100%;height:240px;\’
/div
/div
span 类=\’左上\’/span
span 类=\’右上\’/span
span 类=\’左下角\’/span
span 类=\’右下\’/span
/div
/div
.
创建views.py文件,将数据从数据库传输到前端页面。
导入json
从多处理导入连接
sqlite3.dbapi2 导入的完整性错误
从django.core 导入序列化器
从django.core.serializers.json 导入DjangoJSONEncoder
从django.forms 导入model_to_dict
从django.http 导入HttpResponse、JsonResponse
django.shortcuts 从渲染导入
默认索引(请求):
# print(request.method) #获取请求方法GET或POST
return render(request, \’index.html\’) #回复页面
5 实现效果
使用的数据是经过处理后导入mysql数据库的数据。接下来检查显示效果并尝试一下。
Python 管理.py runserver
5.1前端展示
![image-20220711175134038](C:\\Users\\Administrator\\AppData\\Roaming\\Typora\\typora-user-images\\image-20220711175134038.png
5.2 后端展示
6 最后
#以上基于Python的旅游数据分析与可视化系统毕业设计相关内容来源网络,仅供参考。相关信息请参见官方公告。
原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/92843.html