在vue项目中使用echarts(echarts不显示,echarts使用详细)

简述:我们在写大屏项目和vue项目时经常会用到echarts,用于数据统计和可视化,它是一款基于JavaScript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表,下面分享下它在项目中的使用方式;

1、安装,下载相关依赖(可用镜像cnpm);

npm install echarts --save

下载较慢时,可以使用镜像cnpm
cnpm install echarts --save

2、在项目中引入(全局引入);

全局引入Echarts
import * as echarts from "echarts";

然后挂载在vue原型上
Vue.prototype.$echarts = echarts; 

  可按需引入 >>

Echarts按需引入详细https://echarts.apache.org/handbook/zh/basics/import/https://echarts.apache.org/handbook/zh/basics/import/

3、在vue页面中使用;

      3.1、首先定义一个容器,设置宽高,也就是echarts的大小(这一步很重要,一定要设置容器大小,不然显然不出来

定义一个容器
<template>
  <div id="echarts_demo"></div>
</template>

并设置大小
<style lang="scss" scoped>
#echarts_demo {
  width: 80%;
  height: 80vh;
  margin: auto;
  border: 1px solid #8080ff;
}
</style>

     3.2、定义一个方法,在方法中获取容器实例,初始化echarts,并配置相关属性,然后在mounted函数中调用(注意这里调用时候使用的是this.$echarts.init,全局方法);

methods: {
    定义一个echarts方法,把代码粘贴进去(官网实例有提供代码)
    defineEcharts() {
      获取容器实例
      var chartDom = document.getElementById("echarts_demo");
      赋值并初始化ecahrts
      var myChart = this.$echarts.init(chartDom);
      配置相关属性
      var option;
      setTimeout(function () {
        option = {
          legend: {},
          tooltip: {
            trigger: "axis",
            showContent: false,
          },
          dataset: {
            source: [
              ["product", "2012", "2013", "2014", "2015", "2016", "2017"],
              ["Milk Tea", 56.5, 82.1, 88.7, 70.1, 53.4, 85.1],
              ["Matcha Latte", 51.1, 51.4, 55.1, 53.3, 73.8, 68.7],
              ["Cheese Cocoa", 40.1, 62.2, 69.5, 36.4, 45.2, 32.5],
              ["Walnut Brownie", 25.2, 37.1, 41.2, 18, 33.9, 49.1],
            ],
          },
          xAxis: { type: "category" },
          yAxis: { gridIndex: 0 },
          grid: { top: "55%" },
          series: [
            {
              type: "line",
              smooth: true,
              seriesLayoutBy: "row",
              emphasis: { focus: "series" },
            },
            {
              type: "line",
              smooth: true,
              seriesLayoutBy: "row",
              emphasis: { focus: "series" },
            },
            {
              type: "line",
              smooth: true,
              seriesLayoutBy: "row",
              emphasis: { focus: "series" },
            },
            {
              type: "line",
              smooth: true,
              seriesLayoutBy: "row",
              emphasis: { focus: "series" },
            },
            {
              type: "pie",
              id: "pie",
              radius: "30%",
              center: ["50%", "25%"],
              emphasis: {
                focus: "self",
              },
              label: {
                formatter: "{b}: {@2012} ({d}%)",
              },
              encode: {
                itemName: "product",
                value: "2012",
                tooltip: "2012",
              },
            },
          ],
        };
        myChart.on("updateAxisPointer", function (event) {
          const xAxisInfo = event.axesInfo[0];
          if (xAxisInfo) {
            const dimension = xAxisInfo.value + 1;
            myChart.setOption({
              series: {
                id: "pie",
                label: {
                  formatter: "{b}: {@[" + dimension + "]} ({d}%)",
                },
                encode: {
                  value: dimension,
                  tooltip: dimension,
                },
              },
            });
          }
        });
        myChart.setOption(option);
      });
      option && myChart.setOption(option);

      // 给window添加resize监听事件,当平怒尺寸发生变化时重置
      window.addEventListener("resize", () => {
        myChart.resize();
      });

    },
  },

 mounted() {
    this.defineEcharts();
  },

4、实现的效果;

 5、这里给echarts加上页面重置效果,就是当页面尺寸发生变化的时候,跟随页面大小变化而变化(也就是加一个监听事件resize,上面代码有提到);

option && myChart.setOption(option);

// 给window添加resize监听事件,当屏幕尺寸发生变化时重置
window.addEventListener("resize", () => {
    myChart.resize();
});

  加监听事件之前:

  加监听事件之后:

 更多,Echarts大小重置,缩小等问题 >>

echarts重置、缩小等问题,解决方案https://blog.csdn.net/weixin_65793170/article/details/127608700?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167984448316800180676689%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=167984448316800180676689&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-127608700-null-null.blog_rank_default&utm_term=echarts&spm=1018.2226.3001.4450https://blog.csdn.net/weixin_65793170/article/details/127608700?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167984448316800180676689%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=167984448316800180676689&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-127608700-null-null.blog_rank_default&utm_term=echarts&spm=1018.2226.3001.4450

更多操作 >>

Echarts官网https://echarts.apache.org/zh/index.htmlhttps://echarts.apache.org/zh/index.html

相关镜像(Echarts访问加速) >>

PPCharthttp://ppchart.com/#/

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

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

相关文章

【IAR工程】STM8S208RB基于ST标准库蜂鸣器(BEEP)驱动

【IAR工程】STM8S208RB基于ST标准库蜂鸣器(BEEP)驱动&#x1f33e;寄存器版本《STM8S系列基于IAR开发&#xff1a;蜂鸣器&#xff08;BEEP&#xff09;驱动功能模块示例》&#x1f33f;相关篇《【IAR工程】STM8S208RB基于ST标准库下GPIO点灯示例》&#x1f33f;《【IAR工程】ST…

总结803

早上&#xff1a; 6:44起床 7:00~7:04开合跳100 7:09~8:00小湖读英语 8:00~9&#xff1a;30句句真研 9&#xff1a;40~10:00去教室 10:03~10:15阅读《运动改造大脑》 10:15~12:00上课 12:00~12:20背单词 12:23~12:50吃饭 1:00~2:10午觉 2:30~5:00核聚课程一篇考研英…

HashMap, HashTable, ConcurrentHashMap 之间的区别

目录关于线程安全HashTable 和 ConcurrentHashMap 的区别1. 加锁粒度不同(最关键 最核心的区别!!!)2. ConcurrentHashMap 利用了 CAS 机制 (无锁编程)3. 优化了扩容策略关于线程安全 我们知道 HashMap 是线程不安全的. 如果要在多线程环境下使用哈希表, 则可以使用:HashTable …

深度学习语义分割篇——FCN原理详解篇

&#x1f34a;作者简介&#xff1a;秃头小苏&#xff0c;致力于用最通俗的语言描述问题 &#x1f34a;往期回顾&#xff1a;目标检测系列——开山之作RCNN原理详解    目标检测系列——Fast R-CNN原理详解    目标检测系列——Faster R-CNN原理详解 &#x1f34a;近期目标&…

说微软翻译比谷歌准,有人不信,就拿雾霾造了个句子

导读近年来&#xff0c;谷歌(微博)、微软、亚马逊和Facebook等硅谷巨头在人工智能&#xff08;AI&#xff09;领域进行着军备竞赛。在应用层面&#xff0c;有的开发智能管家、有的做机器人、有的训练AI治疗疾病。谷歌和微软则在翻译领域较上了劲。 长久以来&#xff0c;谷歌翻译…

Redis Stream消息并发和未ack消息处理

文章目录1. RedisStreamConfig2. 消费者MyMessageListener3. RedisStreamUtil4. RedisStreamConstant5. 测试6. 处理消费者已读取未ack的消息redis stream文档参考 https://zhuanlan.zhihu.com/p/60501638 1. RedisStreamConfig package com.tophant.eventdemo.common.config…

CSS3笔试题精讲1

防止父元素高度坍塌 4种方案 父元素的高度都是由内部未浮动子元素的高度撑起的。 如果子元素浮动起来,就不占用普通文档流的位置。父元素高度就会失去支撑,也称为高度坍塌。 即使有部分元素留在普通文档流布局中支撑着父元素,如果浮动 起来的元素高度高于留下的素。那么浮…

MySQL日志管理、备份与恢复

文章目录一.MySQL 日志管理1、错误日志2、通用查询日志3、二进制日志4、慢查询日志5、查看日志6、实例操作二、数据库备份的重要性与分类1、数据备份的重要性2、从物理与逻辑的角度&#xff0c;备份分为&#xff1a;3、从数据库的备份策略角度&#xff0c;备份可分为&#xff1…

Spring Cloud Sentinel实战(四)-流控规则-关联、预热、排队等待

流控规则-关联 名词解释 资源名&#xff1a;唯一名称&#xff0c;默认请求路径针对来源&#xff1a;Sentinel可以针对调用者进行限流&#xff0c;填写微服务名&#xff0c;默认default&#xff08;不区分来源&#xff09;阈值类型/单机阈值&#xff1a; QPS&#xff08;每秒钟…

常见问题自助服务,你做对了吗?

一遍又一遍地回答重复的问题可能会成为客户支持团队的一项令人恼火的任务。当您的业务不断增长时&#xff0c;这些问题的数量可能会让您的座席不知所措。但是&#xff0c;如果您为客户设置一个常见问题自助回复服务&#xff0c;会大大减少这一工作量&#xff0c;提高客户体验&a…

安装部署skywalking8.2

SkyWalking是一个开源的分布式系统跟踪解决方案&#xff0c;它提供了分布式系统的性能监控、调用链追踪、度量分析和服务网格等功能。SkyWalking能够帮助开发人员快速定位分布式系统的性能问题&#xff0c;提高系统的可靠性和可扩展性。 SkyWalking支持多种语言和框架&#xff…

【linux】常用指令大全

这篇文章涵盖了linux中常用的所有指令&#xff0c;欢迎大家阅读查询。(如有不正确的地方&#xff0c;各位大佬可以在评论区指出&#xff0c;我会及时进行更正)。 文章目录登录远程服务器ssh添加删除用户当前路径pwd列出文件目录ls进入cdtreewhoami创建文件touch创建目录mkdir删…

java 高考志愿填报系统Myeclipse开发mysql数据库web结构jsp编程计算机网页项目

一、源码特点 java 高考志愿填报系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysql5.0…

发现一个白嫖GPT4.0的方法!真的是完胜3.5!

大家好&#xff0c;我是五竹。 先说个基本的科普&#xff0c;最近被问的人都嘛了。 1、ChatGPT账号只有两种:普通账号和plus账号。 2、普通账号升级到plus账号&#xff0c;需要绑定国外的支付方式&#xff0c;每个月大概130左右&#xff01;plus账号更稳&#xff01;更快&am…

rk3568 音频调节音量-rk809

rk3568 音频调节音量-rk809 daisy使用的是rk3568的主板&#xff0c;系统使用的是v2版本的&#xff0c;使用正常-6dB的音频的文件和耳机声道输出听不清楚&#xff0c;但是使用0dB的能听清楚&#xff0c;所以先从软件上下手修改音量配置&#xff0c;从默认的3改到了0&#xff0c;…

骨传导蓝牙耳机排行榜10强,盘点几款性能高的骨传导耳机

骨传导耳机是一种新型的耳机&#xff0c;它将声音转化为不同频率的机械振动&#xff0c;通过人的颅骨、骨迷路、内耳淋巴液、螺旋器、听觉中枢来传递声波。不需要通过耳道&#xff0c;是一种耳挂式的无线耳机。 骨传导耳机与普通耳机相比&#xff0c;最大的优势是不需要入耳&am…

【Linux系统编程】静态库和共享库

✍个人博客&#xff1a;https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 &#x1f4da;专栏地址&#xff1a;Linux系统编程 &#x1f4e3;专栏定位&#xff1a;整理一下 C 相关的知识点&#xff0c;供大家学习参考~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f…

CMD中dos命令

1 Ctrl R 2 有关某个命令的详细信息&#xff0c;请键入 HELP 命令名 ASSOC 显示或修改文件扩展名关联。 ATTRIB 显示或更改文件属性。 BREAK 设置或清除扩展式 CTRL C 检查。 BCDEDIT 设置启动数据库中的属性以控制启动加载。 CACLS 显示或修改文件的访问控制列表(ACL)。 CA…

第十一届“泰迪杯”数据挖掘挑战赛第四场赛前指导直播预告

为推广我国高校数据挖掘实践教学&#xff0c;培养学生数据挖掘的应用和创新能力&#xff0c;增加校企交流合作和信息共享&#xff0c;提升我国高校的教学质量和企业的竞争能力&#xff0c;第十一届“泰迪杯”数据挖掘挑战赛&#xff08;以下简称挑战赛&#xff09;已于2023年3月…

【MySQL】一文彻底搞懂 Redo-log 为什么要两阶段提交?

【MySQL】一文彻底搞懂 Redo-log 为什么要两阶段提交&#xff1f; 文章目录【MySQL】一文彻底搞懂 Redo-log 为什么要两阶段提交&#xff1f;两阶段提交的过程是怎样的&#xff1f;为什么需要两阶段提交&#xff1f;两阶段提交有什么问题&#xff1f;事务提交的方式——组提交两…
最新文章