vue下使用Echarts5绘制基础图表

news2024/12/28 4:40:04

项目使用Vue3加Echarts5绘制的基本图表,图表自适应浏览器窗口大小 先上图,大屏小屏都可完美展示,纯属练手

一 先上图

1.任意缩放窗口的大小在这里插入图片描述
2.平板
在这里插入图片描述
3.电脑

4.饼图
在这里插入图片描述

5.折线图
折线图

二 后上代码

<script lang="ts">
import {defineComponent,watch,getCurrentInstance,onMounted} from 'vue'
import * as echarts from 'echarts';
import { useUserStore } from  '@/store/app.ts'


export default defineComponent({
  name: "index",
  setup() {
    const user = useUserStore()
    const { $echarts } = getCurrentInstance().appContext.config.globalProperties
    watch(()=>user.isCollapse,(newV,oldV)=>{
      console.log(oldV,newV,"111")
      setTimeout(()=>{
        myChart.resize()
      },300)
    })
    onMounted(() => {
      const  myChart = echarts.init(document.getElementById('charts'))
      const  clockCharts = echarts.init(document.getElementById('clockCharts'))
      const  radar = echarts.init(document.getElementById('radar'))
      const  scatter = echarts.init(document.getElementById('scatter'))

      window.addEventListener('resize', () => {
        myChart.resize()
        clockCharts.resize()
        radar.resize()
        scatter.resize()
      })
      scatter.setOption({
        xAxis: {},
        yAxis: {},
        series: [
          {
            symbolSize: 20,
            data: [
              [10.0, 8.04],
              [8.07, 6.95],
              [13.0, 7.58],
              [9.05, 8.81],
              [11.0, 8.33],
              [14.0, 7.66],
              [13.4, 6.81],
              [10.0, 6.33],
              [14.0, 8.96],
              [12.5, 6.82],
              [9.15, 7.2],
              [11.5, 7.2],
              [3.03, 4.23],
              [12.2, 7.83],
              [2.02, 4.47],
              [1.05, 3.33],
              [4.05, 4.96],
              [6.03, 7.24],
              [12.0, 6.26],
              [12.0, 8.84],
              [7.08, 5.82],
              [5.02, 5.68]
            ],
            type: 'scatter'
          }
        ]
      })
      radar.setOption( {
        title: {
          text: 'Proportion of Browsers',
          subtext: 'Fake Data',
          top: 10,
          left: 10
        },
        tooltip: {
          trigger: 'item'
        },
        legend: {
          type: 'scroll',
          bottom: 10,
          data: (function () {
            var list = [];
            for (var i = 1; i <= 28; i++) {
              list.push(i + 2000 + '');
            }
            return list;
          })()
        },
        visualMap: {
          top: 'middle',
          right: 10,
          color: ['red', 'yellow'],
          calculable: true
        },
        radar: {
          indicator: [
            { text: 'IE8-', max: 400 },
            { text: 'IE9+', max: 400 },
            { text: 'Safari', max: 400 },
            { text: 'Firefox', max: 400 },
            { text: 'Chrome', max: 400 }
          ]
        },
        series: (function () {
          var series = [];
          for (var i = 1; i <= 28; i++) {
            series.push({
              type: 'radar',
              symbol: 'none',
              lineStyle: {
                width: 1
              },
              emphasis: {
                areaStyle: {
                  color: 'rgba(0,250,0,0.3)'
                }
              },
              data: [
                {
                  value: [
                    (40 - i) * 10,
                    (38 - i) * 4 + 60,
                    i * 5 + 10,
                    i * 9,
                    (i * i) / 2
                  ],
                  name: i + 2000 + ''
                }
              ]
            });
          }
          return series;
        })()
      })
      clockCharts.setOption({
        tooltip: {
          formatter: '{a} <br/>{b} : {c}%'
        },
        series: [
          {
            name: 'Pressure',
            type: 'gauge',
            detail: {
              formatter: '{value}'
            },
            data: [
              {
                value: 60,
                name: '分数'
              }
            ]
          }
        ]
      })
      // 绘制图表
      myChart.setOption({
        title: {
          text: 'ECharts 入门示例'
        },
        tooltip: {},
        xAxis: {
          data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
        },
        yAxis: {},
        series: [
          {
            name: '销量',
            type: 'bar',
            data: [5, 20, 36, 10, 10, 20]
          }
        ]
      })
    })
    return {

    }
  },

})
</script>

<template>
  <div style="display: flex">
    <div id="charts" style="width: 50%; height: 400px ;flex: 1"></div>
    <div id="clockCharts" style="width: 50%; height: 400px;flex: 1"></div>
  </div>
  <div style="display: flex">
    <div id="radar" style="width: 50%; height: 400px ;flex: 1"></div>
    <div id="scatter" style="width: 50%; height: 400px;flex: 1"></div>
  </div>
</template>

<style scoped lang="less">

</style>

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

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

相关文章

Jwt,Token,Cookie,Session之间的区别

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a;每天一个知识点 ✨特色专栏&#xff1a…

ROS学习笔记(6):ros_control

1.ros_control简介 ros_control - ROS Wiki ros_control是为ROS提供的机器人控制包&#xff0c;包含一系列控制器接口、传动装置接口、控制器工具箱等,有效帮助机器人应用功能包快速落地&#xff0c;提高开发效率。 2.ros_control框架 ros_control总体框架&#xff1a; 针对…

【springboot配置项动态刷新】与【yaml文件转换为java对象】

文章目录 一&#xff0c;序言二&#xff0c;准备工作1. pom.xml引入组件2. 配置文件示例 三&#xff0c;自定义配置项动态刷新编码实现1. 定义自定义配置项对象2. 添加注解实现启动时自动注入3. 实现yml文件监听以及文件变化处理 四&#xff0c;yaml文件转换为java对象1. 无法使…

Go 语言初探:从基础到实战

1.Go概述 程序是一段计算机指令的有序组合。程序算法数据结构。任何程序都可以将模块通过三种基本的控制结构&#xff08;顺序、分支、循环&#xff09;进行组合来实现。 Go&#xff08;也称为Golang&#xff09;是一种由Google开发的开源编程语言。设计目标是使编程更简单、…

配置802.1x本地认证,以识别用户身份的示例

组网图形 图1 802.1x本地认证组网图 规格组网需求操作步骤配置注意事项 规格 适用于所有版本、所有形态的AR路由器。 组网需求 PC1(10.10.10.2/30)直接连接到RouterA的Eth2/0/1端口&#xff0c;RouterA的VLANIF10接口IP地址10.10.10.1/30&#xff08;为PC1上的网关IP地址&a…

基于CLIP的图像分类、语义分割和目标检测

OpenAI CLIP模型是一个创造性的突破&#xff1b; 它以与文本相同的方式处理图像。 令人惊讶的是&#xff0c;如果进行大规模训练&#xff0c;效果非常好。 在线工具推荐&#xff1a; Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 3D…

一维码和二维码图像优化——提高读码率

1.算子 1.1 decompose3 &#xff08;彩色图像分割算子&#xff09; 算子&#xff1a;decompose3 ——将三通道图像转换为三个图像函数原型&#xff1a;decompose3(MultiChannelImage : Image1, Image2, Image3 : : ) 功能&#xff1a;将3通道图像转换为具有相同定义域&#…

智慧安防:监控防盗两不误的安防视频监控系统是什么样的?

随着社会的不断发展&#xff0c;安全问题越来越受到人们的关注&#xff0c;特别是对于居住在城市里的人们来说&#xff0c;盗窃问题是影响他们生活质量的重要因素之一。因此&#xff0c;根据市场需求&#xff0c;以监控防盗两不误的智慧监控系统得到了广泛的推广和应用。 一般…

不充不行(同时跑三辆车)

欢迎来到程序小院 不充不行 玩法&#xff1a;点击鼠标左键长按充电桩&#xff0c;别让车落回底线&#xff0c;三辆车同时在跑&#xff0c;要控制三个充电桩的电量&#xff0c;电量为0即为游戏结束&#xff0c;看看你能坚持多少秒哦^^。开始游戏https://www.ormcc.com/play/gam…

迅镭激光与江苏中红外激光研究院达成战略合作意向

11月6日&#xff0c;江苏中红外激光研究院院长沈德元、江苏师范大学物电学院系主任韩彩芹、江苏中红外激光研究院技术副总王飞等领导莅临迅镭激光调研指导并进行合作会谈&#xff0c;迅镭激光董事长颜章健热情接待。双方就成果转化、产业合作、专业人才培养等方面进行深入洽谈&…

Centos7下安装-使用K3S

本文主要内容&#xff1a; 1.安装k3s 2.在idea中&#xff0c;编辑yml文件创建pod 3.在k3d中pod基本操作 4.在k3d中Labeles标签基本操作 5.在k3d中容器的基本操作 &#xff08;k3s的操作与k8s操作不同处在于&#xff0c;k3s每次执行命令&#xff0c;前面需要加上k3s&#xff09;…

猫罐头什么牌子好?2023营养又美味的猫主食罐头推荐!

亲爱的猫咪主人&#xff0c;你是否为你家小猫咪的挑食问题感到困扰&#xff1f;作为一位在宠物店工作了七年&#xff0c;负责喂养三十多只猫咪的店长&#xff0c;我对许多品牌的猫罐头都非常熟悉了。对于猫罐头哪个牌子好这个问题&#xff0c;我想借此机会分享一些见解。 在本…

linux基础:3.linux基础环境开发工具和配置。

linux基础环境开发工具和配置 一.学习yum工具进行软件安装&#xff1a;1.什么是yum&#xff1a;2.查看软件包&#xff1a;3.安装和删除&#xff1a;4.yum生态&#xff1a; 二.vim的使用&#xff1a;一.快速介绍一下vim二.vim正常模式&#xff1a;2-1&#xff1a;命令模式1.光标…

HarmonyOS应用开发-ArkTS基础知识

作者&#xff1a;杨亮Jerry 作为多年的大前端程序开发工作者&#xff0c;就目前的形式&#xff0c;个人浅见&#xff0c;在未来3-5年&#xff0c;移动端依旧是Android系统和iOS系统的天下。不过基于鸿蒙系统的应用开发还是值得我们去花点时间去了解下的&#xff0c;阅读并实践官…

一杯子三变:揭秘vue单页应用(spa)与内容动态加载的奥秘

&#x1f3ac; 江城开朗的豌豆&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 &#x1f4dd; 个人网站 :《 江城开朗的豌豆&#x1fadb; 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 ⭐ 专栏简介 &#x1f4d8; 文章引言 一、什…

找不到x3daudio1_7.dll怎么办?五种解决方法帮你解决x3daudio1_7.dll问题

在计算机使用过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中之一就是“X3DAudio1_7.dll丢失”。这个错误通常会导致音频播放异常或无法正常工作。为了解决这个问题&#xff0c;本文将介绍5种修复X3DAudio1_7.dll丢失的方法&#xff0c;帮助大家快速恢复X3DAudi…

Redis的三种特殊数据类型

文章目录 一、Redis geospatial 地理位置二、Redis Hyperloglog 基数统计的算法三、Redis Bitmaps 位存储&#xff08;0、1&#xff09;总结 一、Redis geospatial 地理位置 1.geoadd&#xff1a;将指定的地理空间位置&#xff08;纬度、经度、名称&#xff09;添加到指定的ke…

vue中 process.env 对象为空对象问题

问题&#xff1a;今天在处理vue项目环境问题的时候&#xff0c;发现直接打印 process 对象和打印 process.env 时 env 对象输出结果是不一样的&#xff0c;如下图所示&#xff1a; 在网上搜索了一番后发现还是有挺多朋友对此感到疑惑的&#xff0c;询问了同事&#xff0c;同…

VINS-Mono-后端优化 (一:预积分残差计算-IMU预积分约束)

这里先回顾一下预积分是怎么来的 VINS-Mono-IMU预积分 &#xff08;三&#xff1a;为什么要预积分预积分推导&#xff09; 这里贴出预积分的公式 具体含义解释看对对应的文章 整个误差函数如下 预积分 α \alpha α β \beta β γ \gamma γ 是用 IMU 预积分获得的增量&a…

Xtrabackup将本地数据迁移上云

本机和云端服务器安装xtrabackup #为了防止每次yum操作都会自动更新&#xff0c;卸载这个软件 yum -y remove mysql57-community-release-el7-10.noarch#下载XtraBackup yum install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm#激活该yum仓库 percon…