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.pswp.cn/news/206921.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/206921.shtml
英文地址,請注明出處:http://en.pswp.cn/news/206921.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

IDEA版SSM入門到實戰(Maven+MyBatis+Spring+SpringMVC) -Mybatis查詢中返回值四種情況

第一章 Mybatis查詢中返回值四種情況 1.1 查詢單行數據返回單個對象 /*** 通過id獲取員工信息*/ public Employee selectEmpById(int empId);<select id"selectEmpById" resultType"employee">SELECTid,last_name,email,salaryFROMtbl_employeeWHE…

Backend - Django JsonResponse HttpResponse

目錄 一、關系 二、使用 &#xff08;一&#xff09;data 字典傳值 1. HttpResponse &#xff08;1&#xff09;寫法 &#xff08;2&#xff09;前端接收 HttpResponse 回傳的值 2. JsonResponse &#xff08;1&#xff09;寫法 &#xff08;2&#xff09;前端接收 Js…

如何解壓沒有密碼的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;面試是求職者進入這個行業的重要途徑。為了幫助大家更好地應對軟件測試面試&#xff0c;本文將為大家提供一些常見的軟件測試面試題及答案解析。 請簡要介紹一下軟件測試的目的和重要性。 答&#xff1a;軟件測試的目的是確保軟件產品的質量&#…

千問模型測試環境配置

配置千問環境比較順利&#xff0c;有些由于速度問題較慢&#xff0c;添加源之后提速很多&#xff0c;記錄如下&#xff1a; 1.創建虛擬環境 conda create -p /datanas3/chenjing/envs/qwen python3.8 2.激活虛擬環境 conda activate /datanas3/chenjing/envs/qwen 3.添加源 co…

“身份證信息批量核驗:高效解決管理難題,輕松提升工作效率“

尊敬的讀者們&#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;四、…

代碼隨想錄算法訓練營第四十五天| 70 爬樓梯 322 零錢兌換 279 完全平方數

目錄 70 爬樓梯 322 零錢兌換 279 完全平方數 70 爬樓梯 本題可以轉化為完全背包問題進行解答。 class Solution { public:int climbStairs(int n) {vector<int>f(n 2);f[0] 1;int m 2;for(int i 1;i < n;i){for(int j 1;j < m;j){if(i > j)f[i] f[i - j]…

[Python系列] 文字轉語音

什么是TTS TTS 是 Text-to-Speech 的縮寫&#xff0c;中文稱為“文本到語音”。它是一種將書面文本轉換為自然聽起來的語音的技術。TTS 技術廣泛應用于各種場景&#xff0c;如智能助手、語音合成、電子閱讀器等。 TTS 技術通過機械的、電子的方法產生人造語音。它隸屬于…

對Spring源碼的學習:一

目錄 BeanFactory開發流程 ApplicationContext BeanFactory與ApplicationContext對比 基于XML方式的Bean的配置 自動裝配 BeanFactory開發流程 這里的第三方指的是Spring提供的BeanFactory&#xff0c;Spring啟動時會初始化BeanFactory&#xff0c;然后讀取配置清單&#…

外匯天眼:什么時段做外匯交易最好,有所謂的“最佳時間點”嗎?

在外匯交易的時候&#xff0c;很多手動交易的投資者不知道到底什么時間段操作交易最適合自己。 我們在進行選擇最佳交易時間的時候&#xff0c;一定要明白各時間段的全球各個市場的交易狀況&#xff0c;這樣你才能分配好自己的時間。 當然在通過技術分析與基本分析選擇好幣種后…

PostgreSQL 索引介紹和使用事項

索引內容 關鍵點 索引是一種數據結構&#xff0c;用于加快數據庫查詢的速度。它類似于書籍的目錄&#xff0c;可以快速定位到特定的數據頁。 PG數據庫支持多種類型的索引&#xff0c;包括B樹索引、哈希索引、GiST索引、SP-GiST索引和GIN索引等。 B樹索引是PG數據庫中最常用的…