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

news2024/10/5 18:28:11

        可视化题目与以往相同,做法类似,我这里展示得到语句后处理优化以后的代码,以函数式来写可视化,比以前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.coloradmin.cn/o/517120.html

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

相关文章

提升曝光率!掌握Facebook帖子关键词采集技巧

如何提高Facebook帖子的曝光率成为了每个营销人员的关注焦点。掌握Facebook帖子关键词采集技巧&#xff0c;可以帮助你更好地定位受众&#xff0c;增加帖子的曝光和点击率。在本文中&#xff0c;我们将详细介绍一些有效的技巧和策略&#xff0c;让你成为Facebook帖子关键词的专…

不到1分钟,帮你剪完旅行vlog,火山引擎全新 AI「神器」真的这么绝?

旅行时&#xff0c;想在社交平台发布一支精美的旅行 vlog&#xff0c;拍摄剪辑需要花费多长时间&#xff1f; 20 分钟&#xff1f;一小时&#xff1f;半天&#xff1f; 在火山引擎算法工程师眼里&#xff0c;可能 1 分钟都用不了&#xff0c;因为会有 AI 替你完成。 没错&#…

安装-唯一客服系统文档中心

环境要求 Mysql > 5.6IIS/Apache/Nginx(只推荐nginx) 宝塔一键部署 前往 【软件商店】>【一键部署】>【导入项目】 客服项目本身不需要PHP环境&#xff0c;因此PHP版本那里&#xff0c;随意根据自己环境写上就可以 导入完成以后&#xff0c;点击一键部署&#xff0c;填…

matlab实验四插值与数据拟合

一、实验目的及要求 一、实验的目的与要求&#xff1a; 1、掌握 MATLAB的一维数据插值法 2、通过比较不同次数的多项式拟合效果&#xff0c;了解多项式拟合的原理 3、掌握 MATLAB的多项式拟合的特点和方法 4、掌握 MATLAB的多项式表示与运算 二、实验原理 1、Matlab中&#xff…

基于QEMU的RISC-V架构linux系统开发(一)——RISC-V交叉编译器的安装

基于RISC-V交叉编译器包括32bit和64bit两种类型&#xff0c;其中每种类型又包括裸机版本&#xff08;newlib&#xff09;和动态链接库版本&#xff08;linux glibc&#xff09;。不同类型、版本的gcc的安装仅在配置文件上存在差异&#xff0c;具体安装流程&#xff08;以64bit …

以数据思维和技能提升数据应用测试实践 | 京东云技术团队

作者&#xff1a;京东零售 周雪梅 以数据思维和技能提高测试覆盖率和效率。数据应用测试&#xff0c;功能测试主要聚焦在数据流向&#xff08;输入和输出&#xff09;。 一、背景 数据质量组当前主要承接黄金眼和商智中的供应链模块&#xff0c;商智包括PC&#xff08;品牌版…

Access、Foxpro、Foxbase,2023年找到完美代替,有Excel基础即可

你还记得上世纪80年代的Foxbase和Foxpro吗&#xff1f; 数据库软件作为基础软件是计算机系统稳定运行的基石。 像Foxbase和Foxpro&#xff0c;很多计算机专业的前辈都应该听说过&#xff0c;当时的风靡程度一点也不亚于现在的微软office。 FoxPro和Foxbase是诞生于1984年。具…

玩机搞机-----安卓全机型 ADB FAST 各种指令解析说明与操作【二】基础联机

安卓全机型 玩机 搞机 ADB FAST 各种指令解析说明与操作_adb线刷命令_安卓机器的博客-CSDN博客 今天对上个帖子不足的地方进行补正。方便友友进行基础的联机操作&#xff0c;很多时候我们用adb指令的时候会有各种奇奇怪怪的问题。例如同一个机型&#xff0c;同一个指令。有时候…

使用svg在元素直接绘制连线箭头

注意&#xff1a;svg的图形绘制的点位置坐标是基于画布的位置坐标&#xff0c;相当于从左上角的点为起点。 先来个简单示例&#xff1a; 在点与点之间绘制连线箭头 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8">…

cookie、session、token的区别是什么

前言 今天就来说说session、cookie、token这三者之间的关系&#xff01;最近这仨玩意搞得头有点大&#x1f923; 1.为什么会有它们三个&#xff1f; 我们都知道 HTTP 协议是无状态的&#xff0c;所谓的无状态就是客户端每次想要与服务端通信&#xff0c;都必须重新与服务端链接…

JUC并发编程18 | AQS分析

尚硅谷&#xff08;140-155&#xff09; 18 AQS 前置知识 公平锁和非公平锁可重入锁自旋思想LockSupport双向链表设计模式——模块设计 18.1 AQS入门级别理论知识 AQS一般指的是 AbstractQueuedSynchronized AQS 是用来实现锁或者其他同步器组件的公共基础部分的抽象实现…

【企业信息化】第3集 世界排名第一的免费开源ERP: Odoo 16 POS终端管理系统

文章目录 前言一、概览二、硬件三、使用功能 前言 世界排名第一的免费开源ERP: Odoo 16 POS终端管理系统。几分钟内完成设置&#xff0c;几秒内完成销售。 一、概览 Odoo POS 基于智能界面&#xff0c;任何零售公司均可毫不费力地使用 因为其极具灵活性&#xff0c;您可配置 …

普通的项目非分布式项目中的技术点思考(学习随记)

学习路线 在学习Java的路程中&#xff0c;最开始学习JavaSe&#xff0c;在Java基础学完后&#xff0c;开始接触JavaWeb&#xff0c;开始接触框架&#xff0c;Spring框架&#xff0c;SpringBoot框架、数据库框架、在学习一下中间件&#xff0c;就可以完成工作中crud的基础操作&…

聚观早报|谷歌:全新大模型赋能「全家桶」;阿里巴巴取消CTO职位

今日要闻&#xff1a;谷歌 I/O&#xff1a;全新大模型赋能「全家桶」&#xff1b;阿里巴巴取消CTO职位&#xff1b;马斯克打造「美国微信」&#xff1b;奔驰将召回部分进口CLA汽车&#xff1b;奔驰将召回部分进口CLA汽车 谷歌 I/O&#xff1a;全新大模型赋能「全家桶」 北京时…

大模型也内卷,Vicuna训练及推理指南,效果碾压斯坦福羊驼

2023开年以来&#xff0c;大模型进入疯狂内卷状态&#xff0c;大模型的发布都要以“天”为单位进行迭代。 之前&#xff0c;尝试了从0到1复现斯坦福羊驼&#xff08;Stanford Alpaca 7B&#xff09; &#xff0c;下面我们来尝试从0到1复现Vicuna训练及推理。 Vicuna简介 继斯坦…

AOP深度学习

代理模式 静态代理&#xff1a;静态代理确实实现了解耦&#xff0c;但是由于代码都写死了&#xff0c;完全不具备任何的灵活性。就拿日志功能来说&#xff0c;将来其他地方也需要附加日志&#xff0c;那还得再声明更多个静态代理类&#xff0c;那就产生了大量重复的代码&#…

wps js宏编辑器案例2-单元格读写-随机选人

本案例讲述某企业的一个真实案例&#xff0c;该企业每周二早上有安全宣贯会议&#xff0c;差不多10来分钟左右&#xff0c;每次安全会上人事部门都会点名&#xff0c;那么问题来了&#xff0c;点名的名单哪儿来&#xff1f;为此&#xff0c;编写了一个简单js宏应用&#xff0c;…

易基因:DNA甲基化和转录组分析揭示野生草莓干旱胁迫分子调控机制|植物抗逆

大家好&#xff0c;这里专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。 干旱胁迫是对农业生产产生不利影响的关键环境因素。为此&#xff0c;植物发展出各种响应机制&#xff08;干旱逃逸、避免、耐受和回复&#xff09;&#xff0c;以通过进化增强抗旱性&#…

2022年下半年软件设计师下午试题

试题四&#xff08;共15分&#xff09; 排序是将一组无序的数据元素调整为非递减顺序的数据序列的过程&#xff0c;堆排序是一种常用的排序算法。用顺序存储结构存储堆中元素。非递减堆排序的步骤是&#xff1a; (1)将含n个元素的待排序数列构造成一个初始大顶堆&#xff0c;…

种棉12载的他,为何最终选择千耘导航?

边休息边种地&#xff0c;每天还能提升近四十亩作业量&#xff0c;是怎么做到的&#xff1f; 种地十二三年&#xff0c;为何最终选择了千耘农机导航&#xff1f; 千耘导航使用前后的工作状态究竟相差了多少&#xff1f; 让我们走进新疆阿克苏&#xff0c;听一听任师傅的“种…