新能源汽车可视化大屏数据系列之十 汽车品牌榜模块
任务目标:
完成汽车品牌榜 统计排行的图示效果
操作步骤:
1.在myApp应用下的utils中,找到getCenterData.py文件,添加函数如下所示:
#段代码的作用是统计每种品牌的汽车数量
def getRollData():
cars=list(getAllCars())
#品牌
carBrands={}
for car in cars:
if carBrands.get(car.brand,-1) == -1:
carBrands[str(car.brand)]=1
else:
carBrands[str(car.brand)]+=1
brandList=[(value,key) for key,value in carBrands.items()]
brandList=sorted(brandList,reverse=True)
print(brandList)
2.在views.py文件,增加对上述函数的调用
3.运行项目
4.在地址栏输入http://localhost:8000/myApp/center/,
brandList=sorted(brandList,reverse=True)
# print(brandList)
#设置成列表格式,里面放置{},{}格式;
lastSortList=[]
for k,v in sortDict.items():
lastSortList.append({
'name':k,
'value':v
})
print(lastSortList)
#最终需要返回一下哦
return lastSortList
修改views.py,增加lastSortList变量的接收,和Json响应
def center(request):
if request.method == 'GET':
sumCar,highVolume,topCar,mostModel,mostBrand,avgPrice=getCenterData.getBaseData()
lastSortList=getCenterData.getRollData()
#Json数据;Response响应;
#():报错;
#({}):不报错;
#加上返回的json数据;
return JsonResponse({
'sumCar':sumCar,
'highVolume':highVolume,
'topCar':topCar,
'mostModel':mostModel,
'mostBrand':mostBrand,
'avgPrice':avgPrice,
'lastSortList':lastSortList
})
6.修改前端center.vue的代码
7.修改Center.vue代码,增加双向绑定,测试运行
<span class="fs-xl text mx-2 mb-1 pl-3">汽车品牌榜</span><!--修改这里-->
<dv-scroll-ranking-board class="dv-scr-rank-board mt-1"
:config="ranking" v-bind:key="ranking.data[0].value"/>
删除原来写死的数据,效果还是上面的效果,可以出来。
不过会发现,后台会报错:
增加默认值即可解决上述的问题
总结:
1 数据整合与分析
成功整合了懂车帝的数据源,完成了数据采集、清洗和存储工作。构建了一套完整的数据分析系统,可以实时更新和处理大量的汽车数据。此外,还建立了数据仓库,用于存储历史数据和分析结果,支持后续的数据挖掘和决策分析。
2 用户交互体验优化
前端页面开发已完成,使用Vue3和Element-Plus实现了动态数据展示和交互功能。用户可以通过筛选条件和排序方式,自定义查看不同品牌和车型的信息。同时,分页功能的实现确保了在大量数据情况下的流畅用户体验。
3 图标技术改进
基于ECharts的可视化展示功能已上线,提供了丰富的图表和报表,用于展示品牌销量排名、市场趋势等关键指标。通过这些数据可视化工具,管理层可以更直观地了解市场动态,制定更有效的推广策略。
- 点赞
- 收藏
- 关注作者
评论(0)