vue echarts画多柱状图+多折线图

<!--多柱状图+折线图-->
<div class="echarts-box" id="multiBarPlusLine"></div>

import * as echarts from 'echarts';

mounted() {
  this.getMultiBarPlusLine()
},

    getMultiBarPlusLine() {
      const container = document.getElementById('multiBarPlusLine'); // 获取容器元素
      if (this.echartsMultiBarPlusLineDom) {
        this.echartsMultiBarPlusLineDom.dispose(); // 清空之前的实例(如果需要)
      }
      this.echartsMultiBarPlusLineDom = echarts.init(container); // 初始化echarts实例

      let option = {
        tooltip: {
          trigger: 'axis',
          axisPointer: {
            type: 'cross',
            crossStyle: {
              color: '#999'
            }
          }
        },
        toolbox: {
          feature: {
            dataView: { show: true, readOnly: false },
            magicType: { show: true, type: ['line', 'bar'] },
            restore: { show: true },
            saveAsImage: { show: true }
          }
        },
        legend: {
          data: ['2023-12-09 10:21 小一班', '2023-12-09 10:21 小二班', '2023-12-09 10:21 小三班']
        },
        xAxis: [
          {
            type: 'category',
            data: ['第1轮', '第2轮', '第3轮', '第4轮'],
            axisPointer: {
              type: 'shadow'
            }
          }
        ],
        yAxis: [
          {
            type: 'value',
            name: '次数',//左右两侧的title
            min: 0,
            max: 80,
            interval: 20,
            axisLabel: {
              formatter: '{value} 次'
            }
          },
          {
            type: 'value',
            name: '总用时',//左右两侧的title
            min: 0,
            max: 800,
            interval: 200,
            axisLabel: {
              formatter: '{value} s'
            }
          }
        ],
        series: [
          {
            name: '2023-12-09 10:21 小一班',
            type: 'bar',
            barMaxWidth: 50,
            tooltip: {
              valueFormatter: function (value) {
                return value + ' 次';
              }
            },
            data: [10, 49, 70, 23]
          },
          {
            name: '2023-12-09 10:21 小二班',
            type: 'bar',
            barMaxWidth: 50,
            tooltip: {
              valueFormatter: function (value) {
                return value + ' 次';
              }
            },
            data: [6, 59, 80, 64]
          },
          {
            name: '2023-12-09 10:21 小三班',
            type: 'bar',
            barMaxWidth: 50,
            tooltip: {
              valueFormatter: function (value) {
                return value + ' 次';
              }
            },
            data: [26, 59, 80, 64]
          },
          {
            name: '2023-12-09 10:21 小一班',
            type: 'line',
            yAxisIndex: 1,
            tooltip: {
              valueFormatter: function (value) {
                return value + ' s';
              }
            },
            data: [300, 120, 53, 25]
          },
          {
            name: '2023-12-09 10:21 小二班',
            type: 'line',
            yAxisIndex: 1,
            tooltip: {
              valueFormatter: function (value) {
                return value + ' s';
              }
            },
            data: [600, 220, 530, 255]
          },
          {
            name: '2023-12-09 10:21 小三班',
            type: 'line',
            yAxisIndex: 1,
            tooltip: {
              valueFormatter: function (value) {
                return value + ' s';
              }
            },
            data: [800, 120, 530, 205]
          },          
        ]
      };

      this.echartsMultiBarPlusLineDom.setOption(option);
      //随着屏幕大小调节图表
      window.addEventListener('resize', () => {
        this.echartsMultiBarPlusLineDom.resize();
      });
    },

    getMultiBarPlusLine() {
      const container = document.getElementById('multiBarPlusLine'); // 获取容器元素
      if (this.echartsMultiBarPlusLineDom) {
        this.echartsMultiBarPlusLineDom.dispose(); // 清空之前的实例(如果需要)
      }
      this.echartsMultiBarPlusLineDom = echarts.init(container); // 初始化echarts实例

      let obar = [
        {
          name: '2023-12-09 10:21 小一班',
          type: 'bar',
          barMaxWidth: 50,
          tooltip: {
            valueFormatter: function (value) {
              return value + ' 次';
            }
          },
          data: [10, 49, 70, 23]
        },
        {
          name: '2023-12-09 10:21 小二班',
          type: 'bar',
          barMaxWidth: 50,
          tooltip: {
            valueFormatter: function (value) {
              return value + ' 次';
            }
          },
          data: [6, 59, 80, 64]
        },
        {
          name: '2023-12-09 10:21 小三班',
          type: 'bar',
          barMaxWidth: 50,
          tooltip: {
            valueFormatter: function (value) {
              return value + ' 次';
            }
          },
          data: [26, 59, 80, 64]
        },
      ]

      let oline = [
        {
          name: '2023-12-09 10:21 小一班',
          type: 'line',
          yAxisIndex: 1,
          tooltip: {
            valueFormatter: function (value) {
              return value + ' s';
            }
          },
          data: [300, 120, 53, 25]
        },
        {
          name: '2023-12-09 10:21 小二班',
          type: 'line',
          yAxisIndex: 1,
          tooltip: {
            valueFormatter: function (value) {
              return value + ' s';
            }
          },
          data: [600, 220, 530, 255]
        },
        {
          name: '2023-12-09 10:21 小三班',
          type: 'line',
          yAxisIndex: 1,
          tooltip: {
            valueFormatter: function (value) {
              return value + ' s';
            }
          },
          data: [800, 120, 530, 205]
        },
      ]

      let option = {
        tooltip: {
          trigger: 'axis',
          axisPointer: {
            type: 'cross',
            crossStyle: {
              color: '#999'
            }
          }
        },
        grid: {
          top: '30',
          left: '60',
          right: '260',
          bottom: '60'
        },
        legend: {
          data: ['2023-12-09 10:21 小一班', '2023-12-09 10:21 小二班', '2023-12-09 10:21 小三班'],
          orient: 'vertical', // 垂直布局
          top: 'middle', // 垂直布局
          left: 'right', // 右侧位置
        },
        xAxis: [
          {
            type: 'category',
            data: ['第1轮', '第2轮', '第3轮', '第4轮'],
            axisPointer: {
              type: 'shadow'
            }
          }
        ],
        yAxis: [
          {
            type: 'value',
            name: '次数',//左右两侧的title
            min: 0,
            max: 80,
            interval: 20,
            axisLabel: {
              formatter: '{value} 次'
            }
          },
          {
            type: 'value',
            name: '总用时',//左右两侧的title
            min: 0,
            max: 800,
            interval: 200,
            axisLabel: {
              formatter: '{value} s'
            }
          }
        ],
        series: [...obar, ...oline]
      };

      this.echartsMultiBarPlusLineDom.setOption(option);
      //随着屏幕大小调节图表
      window.addEventListener('resize', () => {
        this.echartsMultiBarPlusLineDom.resize();
      });
    },

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Windows11电脑在使用GPU的时候有时候会卡顿

原来我一直以为是电脑的某些组件可能坏掉了 但是后来发现通过更新gpu的驱动可以让它变好&#xff1a; NVIDIA GeForce 驱动程序 - N 卡驱动 | NVIDIA 下载好以后&#xff0c;然后安装最新的驱动就可以了&#xff0c;感觉可能是因为win11和某些需要显卡的驱动不支持的原因吧 …

分布式技术导论 — 探索分析从起源到现今的巅峰之旅(消息队列)

探索分析从起源到现今的巅峰之旅 分布式队列 - Kafka架构特性可扩展性磁盘优化与顺序访问大容量存储与历史数据利用高效数据封装与压缩智能内存管理与OS缓存利用 Kafka发布/订阅模型Kafka架构分析Producer和Consumer接口交互Producer通过Topic发送数据Consumer通过Topic消费数据…

Java 解析xml文件-工具类

Java 解析xml文件-工具类 简述 Java解析xml文件&#xff0c;对应的Javabean是根据xml中的节点来创建&#xff0c;如SeexmlZbomord、SeexmlIdoc等等 工具类代码 import cn.hutool.core.io.FileUtil; import com.alibaba.cloud.commons.io.IOUtils; import com.seexml.bom.Se…

充电宝什么牌子好?买多少毫安充电宝合适?这几个误区别踩!

在选择充电宝时&#xff0c;很多消费者常常被各种品牌和容量规格搞得眼花缭乱。不少人认为&#xff0c;容量越大越好&#xff0c;但事实并非如此。其实&#xff0c;根据日常使用需求&#xff0c;选择10000毫安的充电宝已经足够应对大多数情况。10000毫安的充电宝不仅能够满足手…

无线备网,保障连锁零售数字化运营

为了提升运营效率、改进客户体验&#xff0c;零售商们不断引入新的数字化工具和平台&#xff0c;包括数字化收银、客流统计、客户关系管理系统等。现代化智慧零售的运营更加依赖于稳定、高效的网络连接&#xff0c;数字化网络不仅是提升运营效率和客户体验的关键&#xff0c;还…

多项目如何管理?盘点十大主流项目管理软件,轻松管理多个项目

多项目同时进行已经成为很多企业的现状&#xff0c;项目经理手握几个项目成为常态。 多项目管理之所以难&#xff0c;不仅在于项目数量的增加&#xff0c;而且在于项目资源分配不均、多项目进度比较难监控、沟通协作纷繁复杂。 应该如何做好进度管理&#xff0c;力求每个项目…

MySQL中的客户端选项(三)

默认情况下&#xff0c;LOAD DATA的LOCAL功能是否可用取决于MySQL客户端库在编译时是否启用了该功能。 当只给出--local-infile&#xff08;不带值&#xff09;时&#xff0c;它启用LOCAL数据加载。当给出--local-infile0时&#xff0c;它禁用LOCAL数据加载。当给出--local-in…

2024年粤港澳青少年信息学创新大赛图形化编程小高组真题试卷

2024年粤港澳青少年信息学创新大赛图形化编程小高组真题试卷 题目总数&#xff1a;16 总分数&#xff1a;100 单选题 第 1 题 单选题 默认小猫角色&#xff0c;以下哪个Scratch程序可以让小猫一直在舞台上随机移动&#xff0c;且每次在移动过程中用时1秒 A. B. C. D…

LearnOpenGL 及 ShaderToy 的 CMake 构建框架

文章目录 构建目标具体框架根目录src 目录app 目录import.cmake其他 CMake 函数 使用框架实际效果摄像机坐标变换使用 assimp 库加载模型shadertoy 测试 framebuffer 离屏渲染 其他 为了复习 OpenGL&#xff08;主要是看到 shadertoy 上有好玩的着色器&#xff09;&#xff0c;…

Linux入门攻坚——26、Web Service基础知识与httpd配置-2

http协议 URL&#xff1a;Uniform Resource Locator&#xff0c;统一资源定位符 URL方案&#xff1a;scheme&#xff0c;如http://&#xff0c;https:// 服务器地址&#xff1a;IP&#xff1a;port 资源路径&#xff1a; 示例&#xff1a;http://www.test.com:80/bbs/…

rabbitMQ的简单使用

rabbitMQ的介绍 RabbitMQ是一个开源的消息代理和队列服务器&#xff0c;主要用于在不同的应用程序之间传递消息。它基于AMQP&#xff08;Advanced Message Queuing Protocol&#xff09;协议&#xff0c;提供了一种可靠的方式来处理异步通信。RabbitMQ使用Erlang语言编写&…

IT入门知识第三部分《软件开发》(3/10)

目录 IT入门知识大纲第三部分《软件开发》 1. 软件开发生命周期&#xff08;SDLC&#xff09; 1.1 需求分析 1.2 软件设计 1.3 程序编码 1.4 软件测试 1.5 项目部署 1.6 运行维护 2. 软件开发方法论 2.1 瀑布模型 2.2 敏捷开发 2.2.1 Scrum 2.2.2 Kanban 2.3 Dev…

告别盲目投放,Xinstall全方位监测App广告效果

在移动互联网高速发展的今天&#xff0c;App广告已成为品牌与消费者沟通的重要桥梁。然而&#xff0c;如何确保广告投放的精准性和效果性&#xff0c;成为广告主们关注的焦点。在这个数据驱动的时代&#xff0c;Xinstall以其专业的App广告效果统计功能&#xff0c;为广告主们提…

将Typora中图片从指定路径移动到当前文件夹下(准确位置为:XX.md文件所在目录/XX.assets/)

1、背景介绍 最开始时候,将复制到Typora中的图片放在了指定位置。但是在进行迁移(在别的电脑上打开md文件),会发现发送过来的文件不包含图片,导致文件内容缺失。解决办法就是将图片放在XX.md文件所在目录/XX.assets/。 2、方法 2.1 做好文件备份 2.2 替换图片链接中的…

使用MyBatisPlus让数据库和实体类字段自动映射

文章目录 使用MyBatisPlus让数据库和实体类字段自动映射需求场景假如没有映射把映射放到sql语句中使用MyBatisPlus提供的注解简化映射 使用MyBatisPlus让数据库和实体类字段自动映射 需求场景 数据库表中的字段名字&#xff0c;与实体类中的属性名字不一致&#xff0c;我们想…

使用PaddleNLP 从0构建一个属于你自己的心理大模型

项目源于&#xff1a;EmoLLM心理大模型,一直就有用paddle实践心理大模型的想法&#xff0c;终于实现了哈~。接下来就手把手带大家一块做一个心理大模型吧&#xff01;&#xff01;&#xff01; 简单画了个框架图&#xff1a; 环境配置 In [ ] # !git clone -b develop https…

新安装的gcc编译出现编译器内部错误

在原本的环境中已经安装gcc了&#xff0c;但是版本比较低&#xff0c;想用新的版本。 重新下载安装gcc源码编译安装 make install安装好之后想用新的gcc来编译 先改下头文件搜索路径&#xff0c;xxxxxx就是安装后的include/c/xxx/这个路径 CPLUS_INCLUDE_PATH xxxxxx:$CPL…

建筑幕墙甲级设计资质:申请条件与评分标准

建筑幕墙甲级设计资质的申请条件与评分标准可以清晰归纳如下&#xff1a; 申请条件 一、企业基本情况 独立企业法人资格&#xff1a;企业需具有独立企业法人资格。注册资本&#xff1a;注册资本不少于300万元人民币。 二、技术人员条件 主要技术负责人或总工程师&#xff…

Nuxt.js 深入浅出:目录结构与文件组织详解

title: Nuxt.js 深入浅出&#xff1a;目录结构与文件组织详解 date: 2024/6/18 updated: 2024/6/18 author: cmdragon excerpt: 摘要&#xff1a;本文详述了Nuxt.js框架中关键目录与配置文件的作用及使用方法&#xff0c;包括布局设定、页面结构管理、插件集成、静态资源处理…

1999-2020年各地级市农村居民人均纯收入数据

1999-2020年各地级市农村居民人均纯收入数据 1、时间&#xff1a;1999-2020年 2、指标&#xff1a;年份、城市、农村居民人均纯收入 3、来源&#xff1a;区域年鉴、各省市年鉴 4、范围&#xff1a;地级市&#xff0c;具体每年城市数量参看下文图片&#xff0c;具体城市名单…