vue 使用 创建二维数组响应数据 渲染 echarts图标

news2024/11/23 7:10:03

目前我遇到的情况就是用动态的二维数组数据渲染echarts图标,我们从后端收到的接口一般是个一维数组,需要手动构建并且保证响应式。接下来我做了个案例

一、案例总逻辑

1. 先创建一个vue项目

2. 添加 echarts依赖

3. 模拟数据请求,构建二维数组响应式数据,渲染图表

二、创建一个vite项目(也就是vue项目,但使用的是vite而不是webpack)

1.找到打开vite官网

2. 运行创建命令

yarn create vite

3. 执行yarn install安装项目依赖,之后执行行yarn dev运行项目

三、添加echarts依赖

 1. 搜索echarts官网

 2. 添加依赖

yarn add echarts

三、 模拟数据请求,构建二维数组响应式数据,渲染图表

这里有两个问题值得注意
1. 处理二维数组
2. 异步请求数据:我目前的解决办法是,等数据请求完成再渲染图标。 当然也有第二种方式,就是向渲染空表,等待数据过来后,再执行一次 setOption

 

<script setup>
import { ref, reactive, onMounted } from "vue";
import * as echarts from 'echarts';
let myChart;
let data = reactive([]);
onMounted(() => {
  //1. 初始化eharts的渲染节点
  const chartDom = document.getElementById("boxEcharts");
  myChart = echarts.init(chartDom);
  
  //2. 获取数据(模拟请求数据是异步的)
  setTimeout(()=>{
    /*
      目标数据格式
      [
        ["score", "amount", "product"],
        [89.3, 58212, "Matcha Latte"],
        [57.1, 78254, "Milk Tea"],
        [74.4, 41032, "Cheese Cocoa"],
        [50.1, 12755, "Cheese Brownie"],
        [89.7, 20145, "Matcha Cocoa"],
        [68.1, 79146, "Tea"],
        [19.6, 91852, "Orange Juice"],
        [10.6, 101852, "Lemon Juice"],
        [32.7, 20112, "Walnut Brownie"],
      ]
    */
    //请求回来的数据是一维对象数组
    let d1 = [
      {score: "score",amount: "amount",product: "product"},
      {score: 89.3,amount: 58212,product: "Matcha Latte"},
      {score: 57.1,amount: 78254,product: "Milk Tea"},
      {score: 74.4,amount: 41032,product: "Cheese Cocoa"}
    ];
    /*处理成二维数组*/
    let arr = [];      //定义一个数组,让它里面直接装数组
    d1.forEach(item=>{
      arr.push([item.score,item.amount,item.product]);
    });
    data.push(...arr); //将这个二维数组解构为 一维数组放进 定义好的响应数组中
    renderEcharts();
  },1500)
});

//3. 渲染图表
const renderEcharts = () => {
  const option = {
    dataset: {
      source: data,
    },
    grid: { containLabel: true },
    xAxis: { name: "amount" },
    yAxis: { type: "category" },
    visualMap: {
      orient: "horizontal",
      left: "center",
      min: 10,
      max: 100,
      text: ["High Score", "Low Score"],
      // Map the score column to color
      dimension: 0,
      inRange: {
        color: ["#65B581", "#FFCE34", "#FD665F"],
      },
    },
    series: [
      {
        type: "bar",
        encode: {
          // Map the "amount" column to X axis.
          x: "amount",
          // Map the "product" column to Y axis
          y: "product",
        },
      },
    ],
  };
  option && myChart.setOption(option,true);
};
</script>

<template>
  <div id="boxEcharts"></div>
</template>

<style scoped>
#boxEcharts{
  width: 40vw;
  height: 40vh;
}
</style>

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

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

相关文章

支付宝2023年收单外包服务机构评级启动,截止11月15日

9月22日消息&#xff0c;支付宝近日发布公告称&#xff0c;已启动2023年收单外包服务机构评级工作。支付宝表示&#xff0c;收单外包服务机构评级工作是金融监管部门规范引导收单外包服务市场的重要举措&#xff0c;其结果将会向社会公示&#xff0c;直接关系到外包机构的业务开…

QT 之数据库 QSqlQuery CURD 实战

零、参考文档 https://doc.qt.io/archives/qt-6.0/qsqldatabase.html 一、开发环境 Ubuntu 20.04 QT6.0 Microsoft SQL Server 2022 Developer Edition (64-bit) 先修改 /etc/odbc.ini 的数据源配置&#xff0c;指定连接数据库 vdb&#xff0c; sudo vim /etc/odbc.ini[mss…

《发现的乐趣》作者费曼(读书笔记)

目录 一、书简介 二、作者理查德•费曼 费曼式思维 教育与传承 三、个人思考 四、笔记 科学家眼中的花之美 关于偏科 父亲教育我的方式 知道一个概念和真正懂得这个概念有很大区别 我没有义务去成全别人对我的期望 诺贝尔奖——够格吗&#xff1f; 探究世界的游戏规…

基于SpringBoot的商品物品产品众筹平台设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

内网综合扫描工具-fscan的安装和使用

简介 一款内网综合扫描工具&#xff0c;方便一键自动化、全方位漏扫扫描。 支持主机存活探测、端口扫描、常见服务的爆破、ms17010、redis批量写公钥、计划任务反弹shell、读取win网卡信息、web指纹识别、web漏洞扫描、netbios探测、域控识别等功能。相当强大&#xff01;&…

JavaSE | 初始Java(九) | 包的使用

包 包是对类、接口等的封装机制的体现&#xff0c;是一种对类或者接口等的很好的组织方式&#xff0c;比如&#xff1a;一个包中的类不想被其他包中的类使用。包还有一个重要的作用&#xff1a;在同一个工程中允许存在相同名称的类&#xff0c;只要处在不同的包中即可。 可以…

【Spring】Spring 创建和使用

Spring 创建和使用 一. 创建 Spring 项目1. 创建⼀个 Maven 项目2. 添加 Spring 框架⽀持3. 添加启动类 二. 存储 Bean 对象1. 创建 Bean2. 将 Bean 注册到容器 三. 获取并使⽤ Bean 对象1. 创建 Spring 上下文2. 获取指定的 Bean 对象3. 使用 Bean Spring 就是⼀个包含了众多⼯…

HDF5文件数据读取

1、HDF5文件说明 HDF 是用于存储和分发科学数据的一种自我描述、多对象文件格式。HDF 是由美国国家超级计算应用中心(NCSA)创建的,以满足不同群体的科学家在不同工程项目领域之需要。HDF 可以表示出科学数据存储和分布的许多必要条件。HDF 被设计为: 自述性:对于一个HDF …

Koa学习4:密码加密、验证登录、颁发token、用户认证

请求体 这里遇到了个问题&#xff0c;ctx.request.body 的值是一个字符串。明明已经使用了koa-body中间件 查了一下原因是&#xff1a; ctx.request.body的值可能是一个对象或一个字符串&#xff0c;取决于请求的Content-Type和请求体的格式。 当使用koa-body中间件时&#x…

专业PDF编辑阅读工具PDF Expert mac中文特点介绍

PDF Expert mac是一款专业的PDF编辑和阅读工具。它可以帮助用户在Mac、iPad和iPhone等设备上查看、注释、编辑、填写和签署PDF文档。 PDF Expert mac软件特点 PDF编辑&#xff1a;PDF Expert提供了丰富的PDF编辑功能&#xff0c;包括添加、删除、移动、旋转、缩放、裁剪等操作…

基于Java的老年人体检管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

JDBC学习笔记(1)

连接数据库 下载mysql-connector-java&#xff0c;这里我是看的这个连接mysql-connector-java下载。 下载后并且导入了Idea中的lib文件下。 导入成功后&#xff0c;为了验证可以通过CTRLn来搜索Driver看看有没有添加进来。 随后在MySQL中创建一个数据库&#xff0c;我这里直…

小狐狸ChatGPT付费创作系统V2.0.4智能问答小程序,修复一个pc版的bug

狸GPT付费体验系统是一款基于ThinkPHP框架开发的AI问答小程序&#xff0c;是基于国外很火的ChatGPT进行开发的Ai智能问答小程序。 当前全民热议ChatGPT&#xff0c;流量超级大&#xff0c;引流不要太简单&#xff01;一键下单即可拥有自己的GPT&#xff01;无限多开、免费更新不…

Vue中如何进行多语言处理

Vue中的多语言处理 在开发多语言Web应用程序时&#xff0c;处理文本翻译和国际化是一个重要的任务。Vue.js提供了多种方法来实现多语言处理&#xff0c;以确保您的应用程序能够支持不同语言的用户。本文将深入探讨在Vue中进行多语言处理的方法&#xff0c;并提供示例代码来帮助…

基于SpringBoot的高校实习管理系统设计与实现(亮点:多角色、功能全、进可攻退可守)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

2023年中国家用智能投影市场发展趋势分析

2023年上半年&#xff0c;连续多年保持高速增长态势的家用智能投影行业&#xff0c;首次半年度出现同比负增长态势。2023年上半年&#xff0c;中国家用智能投影市场全渠道推总销量为323.0万台&#xff0c;同比下降2.6 %&#xff1b;销售额61.0亿元&#xff0c;同比下降2.9%&…

SLAM面试笔记(7) — Linux面试题

目录 问题1&#xff1a;Linux系统基本组件&#xff1f; 问题2&#xff1a;Linux和Unix有什么区别&#xff1f; 问题3&#xff1a;Linux下编译程序 问题4&#xff1a;gcc基本格式和常用指令 问题5&#xff1a;用什么命令查找内存和交换使用情况&#xff1f; 问题6&#xf…

基于SpringBoot的反诈宣传平台设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

第四范式在港交所主板正式挂牌上市

9月28日上午9时30分&#xff0c;中国最大的以平台为中心的决策类人工智能公司第四范式&#xff0c;正式于香港联合交易所挂牌上市&#xff0c;股份代号为6682.HK。 作为一家长期专注于技术创新和企业端落地的人工智能软件公司&#xff0c;第四范式致力将AI应用到各行各业&#…

linux每处理器内存分配

一、每处理器 在多处理器系统中&#xff0c;每处理器变量为每个处理器生成一个变量副本&#xff0c;每个处理器访问自己的副本&#xff1b; 优点&#xff1a;避免处理器之间和处理器缓存之间的同步&#xff0c;提高程序的执行速度。 二、编程接口 1、静态 DEFINE_PER_CPU(ty…