2023年全国职业院校技能大赛-大数据应用开发-数据可视化

        可视化题目与以往相同,做法类似,我这里展示得到语句后处理优化以后的代码,以函数式来写可视化,比以前400-500多行代码简洁到100多行。其他题目见本栏目,那里面的代码都是没有优化后的,这次主要以效率和精简给大家提供更多的思路。

        我们得到的接口数据类似这种 :

25e8024aad5e4e0880d3a8789a513bad.png

子任务一:用柱状图展示消费额最高的省份

        编写Vue工程代码,根据接口,用柱状图展示2020年消费额最高的5个省份,同时将用于图表展示的数据结构在浏览器的console中进行打印输出,将图表可视化结果和浏览器console打印结果分别截图并粘贴

cf37cbfacd1445ffb62e76f1fbb85c86.png

6dbfc0a8171640f782aeaf0b98f604bd.png

<template><div id="main" style="width: 1000px; height: 400px"></div>
</template><script>
import axios from "axios";
import * as echarts from "echarts";export default {mounted() {let url = "http://localhost:5000/first";axios.get(url).then((res) => {let datas = res.data.data;//取出所有省份的消费额度let xfe = function (array, name, value) {let a = [];let zhi = false;for (let i in array) {for (let j in a) {if (array[i][name] == a[j].name) {a[j].value += array[i][value];a[j].count += 1;zhi = true;break;} else {zhi = false;}}if (!zhi) {a.push({name: array[i][name],value: array[i][value],count: 1,// name:array[i][name],value:value});}}return a;};//分割let qwg = function (array, num) {let a = [];for (let i = 0; i < num; i++) {a.push(array[i]);}return a;};//取值let data = function (array, value, bool) {let a = [];if (bool) {for (let i in array) {a.push((array[i][value] / array[i].count).toFixed(2));}}else{for (let i in array) {a.push(array[i][value]);}}return a;};//定义第一个图的数据let sf = xfe(datas,'provinceName','finalTotalAmount')//排序sf.sort((a,b)=>{return b.value - a.value})//取5个最高的省份sf = qwg(sf,5)console.log(sf);let options1 = {title:{text:'柱状图展示2020年消费额最高的5个省份'},xAxis:{name:'省份',data:data(sf,'name')},yAxis:{name:'消费额'},series:{type:'bar',data:data(sf,'value')}}let myChats = echarts.init(document.getElementById("main"));myChats.setOption(options1)},
};

子任务二:用饼状图展示各地区消费能力

        编写Vue工程代码,根据接口,用饼状图展示2020年各地区的消费总额占比,同时将用于图表展示的数据结构在浏览器的console中进行打印输出,将图表可视化结果和浏览器console打印结果分别截图并粘贴

3cb3c654e20e4fa1ab1dce0c33e85fd3.png 

b5f796aeaf344821b463a482e5e39399.png 

      //各地区let dq = xfe(datas,'regionName','finalTotalAmount')console.log(dq);let options2 = {title:{text:'饼状图展示2020年各地区的消费总额占比'},series:{type:'pie',data:dq,}}myChats.setOption(options2)

子任务三:用折线图展示每年上架商品数量的变化

编写Vue工程代码,根据接口,用折线图展示每年上架商品数量的变化情况,同时将用于图表展示的数据结构在浏览器的console中进行打印输出,将图表可视化结果和浏览器console打印结果分别截图并粘贴

8c825e0ee0274b5aa97b63359c464fd8.png 

670a217708ce4e0db7e9399c1002179d.png 

      //每年上架商品数量的变化情况let spbhua = xfe(datas,'year',1)//这里用到的接口数据不一样,所以我把value设置为1,在xfe里面有一个注释的// name:array[i][name],value:value就是这里的用途。console.log(spbhua);let options3 = {title:{text:"折线图展示每年上架商品数量的变化情况"},xAxis:{name:'年份',data:data(spbhua,'name')},yAxis:{},series:{type:'line',data:data(spbhua,'value')}}myChats.setOption(options3)

 

子任务四:用条形图展示消费额最高的地区

编写Vue工程代码,根据接口,用条形图展示2020年消费额最高的5个地区,同时将用于图表展示的数据结构在浏览器的console中进行打印输出,将图表可视化结果和浏览器console打印结果分别截图并粘贴51727485b0914a90b606658ad490107f.png 

5f92462227ec498b806f89911ec36aa1.png 

      //条形图展示2020年消费额最高的5个地区let zgdq = xfe(datas,'regionName','finalTotalAmount')zgdq.sort((a,b)=>{return b.value - a.value})zgdq = qwg(zgdq,5)console.log(zgdq);let options4 = {title:{text:'条形图展示2020年消费额最高的5个地区'},xAxis:{name:'消费额'},yAxis:{name:'地区',data:data(zgdq,'name')},series:{type:'bar',data:data(zgdq,'value')}}myChats.setOption(options4)

子任务五:用散点图展示省份平均消费额

编写Vue工程代码,根据接口,用基础散点图展示2020年最高10个省份平均消费额(四舍五入保留两位小数),同时将用于图表展示的数据结构在浏览器的console中进行打印输出,将图表可视化结果和浏览器console打印结果分别截图并粘贴2cb5b7117cb64ff68b427ea0af4456f5.png 

c2f19c186e304013ad94610dc1e5d6d9.png 

//散点图展示2020年最高10个省份平均消费额let sdt = xfe(datas, "provinceName", "finalTotalAmount");sdt.sort((a, b) => {return b.value - a.value;});sdt = qwg(sdt, 10);console.log(data(sdt, "name", false));console.log(data(sdt, "value", true));let options5 = {title: {text: "散点图展示2020年最高10个省份平均消费额",},xAxis: {name: "省份",data: data(sdt, "name", false),},yAxis: {name: "平均消费额",},series: {type: "scatter",data: data(sdt, "value", true),},};myChats.setOption(options5)

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/206921.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何解压没有密码的7-zip文件?

7z压缩包设置了密码&#xff0c;解压的时候就需要输入正确对密码才能顺利解压出文件&#xff0c;正常当我们解压文件或者删除密码的时候&#xff0c;虽然方法多&#xff0c;但是都需要输入正确的密码才能完成。忘记密码就无法进行操作。 那么&#xff0c;忘记了7z压缩包的密码…

文件重命名大师:批量修改名称的终极指南

在处理大量文件时&#xff0c;我们往往需要修改它们的名称。无论是为了整理、归档还是为了满足某种特定需求&#xff0c;重命名文件都是一项常见的任务。然而&#xff0c;手动一个一个地修改文件名无疑是一项耗时且容易出错的工作。幸运的是&#xff0c;我们可以借助一些强大的…

Python---类的综合案例

1、需求分析 设计一个Game类 属性&#xff1a; 定义一个类属性top_score记录游戏的历史最高分 定义一个实例属性player_name记录当前游戏的玩家姓名 方法&#xff1a; 静态方法show_help显示游戏帮助信息 类方法show_top_score显示历史最高分 实例方法start_game开始当前…

13、pytest为失败的断言定义自己的解释

官方实例 # content of ocnftest.py from test_foocompare import Foodef pytest_assertrepr_compare(op, left, right):if isinstance(left, Foo) and isinstance(right, Foo) and op "":return["Comparing Foo instances:",f" vals:{left.val} !…

震坤行走进中国移动电商平台业务推介启动会助力政企采购升级

震坤行走进中国移动电商平台业务推介启动会助力政企采购升级 7月19日&#xff0c;震坤行受邀参与中国移动供应链管理中心在北京举办的“和悦彩同行 创供赢未来”主题活动&#xff0c;走入客户一线面对面沟通&#xff0c;依托MRO领域服务能力为客户提供专业解决方案&#xff0c…

node后端接口无法插入数据为emoji的表情的问题

原因 emoji的表情一般是这样的\xF0\x9F\x98\x80或者是\xF0\x9F\x98 &#xff0c;事实上 一般数据库的utf8的编码类型都是能保存\xF0\x9F\x98 但是不能保存\xF0\x9F\x98\x80这种样的emoji&#xff0c;要将数据库编码格式为utf8mb4 也就是utf8的超集 另外&#xff0c;除了 数据库…

angular状态管理方案(ngrx)

完全基于redux的ngrx方案&#xff0c;我们看看在angular中如何实现。通过一个简单的计数器例子梳理下整个流程 一 安装 &#xff1a;npm i ngrx/store 这里特别要注意一点&#xff1a;安装 ngrx/store的时候会出现和angular版本不一致的问题 所以检查一下angular/core的版本…

使用 HPA 和 TopologySpreadConstraints 实现可用区间等比扩容

1. 原理介绍 设置 HPA 每次最小扩容 Pod 数为可用区数量&#xff0c;以期可用区间 Pod 同步扩容设置 TopologySpreadConstraints 可用区分散 maxSkew 为 1&#xff0c;以尽可能可用区间 Pod 均匀分布 2. 实验验证 2.1. 准备 Kind 集群 准备如下配置文件&#xff0c;命名为 …

“身份证信息批量核验:高效解决管理难题,轻松提升工作效率“

尊敬的读者们&#xff0c;您是否曾经因为身份证信息的核验而感到烦恼&#xff1f;是否曾经因为手动核验而感到繁琐和耗时&#xff1f;现在&#xff0c;我们向您介绍一款全新的工具——身份证信息批量核验器&#xff0c;它将帮助您一键解决管理难题&#xff0c;让工作事半功倍&a…

尝试通过AI模型进行简单的编码

一、前言 最近尝试通过AI来编程&#xff0c;总体感觉还是能处理写简单的问题&#xff0c;复杂的问题目前还是无法解决。主要的痛点还是数据噪音&#xff0c;就是AI永远不会承认它不会&#xff0c;它会给你的一个错误的信息&#xff0c;它也不会告诉你你的问题它暂时无法完整正…

Python基础语法详解,零基础入门必须掌握的知识点

文章目录 一、Python输出1、repr() 或 str() 转成字符串2、字符串填充空格进行格式化3、!a (使用 **ascii()**), !s (使用 **str()**) 和 !r (使用 **repr()**) 可以用于在格式化某个值之前对其进行转化 二、Python标识符三、Python保留字符&#xff08;关键字&#xff09;四、…

对Spring源码的学习:一

目录 BeanFactory开发流程 ApplicationContext BeanFactory与ApplicationContext对比 基于XML方式的Bean的配置 自动装配 BeanFactory开发流程 这里的第三方指的是Spring提供的BeanFactory&#xff0c;Spring启动时会初始化BeanFactory&#xff0c;然后读取配置清单&#…

外汇天眼:什么时段做外汇交易最好,有所谓的“最佳时间点”吗?

在外汇交易的时候&#xff0c;很多手动交易的投资者不知道到底什么时间段操作交易最适合自己。 我们在进行选择最佳交易时间的时候&#xff0c;一定要明白各时间段的全球各个市场的交易状况&#xff0c;这样你才能分配好自己的时间。 当然在通过技术分析与基本分析选择好币种后…

Google刚发布AlphaCode 2,让我们码农多了个小伙伴一起干活

除了其Gemini生成式人工智能模型之外&#xff0c;谷歌今天早上发布了AlphaCode 2&#xff0c;这是谷歌DeepMind实验室大约一年前推出的代码生成AlphaCode的改进版本。 事实上&#xff0c;AlphaCode 2实际上由Gemini提供支持&#xff0c;或者至少是由Gemini的某个变体&#xff…

基于个微机器人的开发

简要描述&#xff1a; 下载消息中的动图 请求URL&#xff1a; http://域名/getMsgEmoji 请求方式&#xff1a; POST 请求头Headers&#xff1a; Content-Type&#xff1a;application/jsonAuthorization&#xff1a;login接口返回 参数&#xff1a; 参数名必选类型说明…

spring boot 事件机制

目录 概述实践监听spring boot ready事件代码 源码初始化流程调用流程 结束 概述 spring boot 版本为 2.7.17 。 整体看一下spring及spring boot 相关事件。 根据下文所给的源码关键处&#xff0c;打上断点&#xff0c;可以进行快速调试。降低源码阅读难度。 实践 spring…

TCP聊天

一、项目创建 二、代码 Client类 package tcp;import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; import java.util.Scanner;public class Client {public static void m…

电子学会C/C++编程等级考试2022年06月(四级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:公共子序列 我们称序列Z = < z1, z2, ..., zk >是序列X = < x1, x2, ..., xm >的子序列当且仅当存在 严格上升 的序列< i1, i2, ..., ik >,使得对j = 1, 2, ... ,k, 有xij = zj。比如Z = < a, b, f, c &…

QT Windos平台下打包应用程序

一、windeployqt.exe windeployqt&#xff1a;是 Qt 框架自带的一个工具&#xff0c;用于将一个 Qt 应用程序在 Windows 操作系统下进行打包。它可以通过扫描应用程序的依赖项获取所需的 Qt 库文件、插件和翻译文件&#xff0c;以及复制应用程序可执行文件和所需的依赖项到指定…

【C++】:搜索二叉树

朋友们、伙计们&#xff0c;我们又见面了&#xff0c;本期来给大家解读一下有关多态的知识点&#xff0c;如果看完之后对你有一定的启发&#xff0c;那么请留下你的三连&#xff0c;祝大家心想事成&#xff01; C 语 言 专 栏&#xff1a;C语言&#xff1a;从入门到精通 数据结…