Vue框架中如何让图表自适应,方法是什么
Admin 2022-06-17 群英技术资讯 610 次浏览
npm install echarts --save
//main.js // import echarts from 'echarts'; import * as echarts from 'echarts'; // 如果安装的是echarts 5以上版本,则需此种方式引入 Vue.prototype.$echarts = echarts
传送门:Vue中 实现函数的防抖、节流及应用场景
// utils/common.js // 防抖 function _debounce(fn, delay = 300) { var timer = null; return function () { var _this = this; var args = arguments; if (timer) clearTimeout(timer); timer = setTimeout(function () { fn.apply(_this, args); }, delay); }; } export{ _debounce, }
<template> <div class="charts"> <div id="lineChart" :style="{ width: '100%', height: '400px' }"></div> </div> </template> <script> import { _debounce } from '@/utils/common.js' export default { data() { return {}; }, methods: { drawLine() { // 基于准备好的dom,初始化echarts实例 let lineChart = this.$echarts.init(document.getElementById("lineChart")); lineChart.setOption({ title: { text: "雨量流量关系图", x: "center", }, xAxis: { type: "category", data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], }, yAxis: { type: "value", }, series: [ { data: [820, 932, 901, 934, 1290, 1330, 1320], type: "line", }, ], }); }, resizeCharts:_debounce(function(){ this.$echarts.init(document.getElementById('lineChart')).resize() },500) }, mounted() { this.drawLine(); window.addEventListener('resize',this.resizeCharts); }, beforeDestroy () { window.addEventListener('resize',this.resizeCharts); }, }; </script>
创建一个 ECharts 实例,返回 echartsInstance,不能在单个容器上初始化多个 ECharts 实例。
(dom: HTMLDivElement|HTMLCanvasElement, theme?: Object|string, opts?: { devicePixelRatio?: number, renderer?: string, useDirtyRect?: boolean, // 从 `v5.0.0` 开始支持 width?: number|string, height?: number|string, locale?: string }) => ECharts
dom:实例容器,一般是一个具有高宽的div元素。
注:如果div是隐藏的,ECharts 可能会获取不到div的高宽导致初始化失败,这时候可以明确指定div的style.width和style.height,或者在div显示后手动调用 echartsInstance.resize 调整尺寸。
ECharts 3 中支持直接使用canvas元素作为容器,这样绘制完图表可以直接将 canvas 作为图片应用到其它地方。例如在 WebGL 中作为贴图,这跟使用 echartsInstance.getDataURL 生成图片链接相比可以支持图表的实时刷新。
theme:应用的主题。可以是一个主题的配置对象,也可以是使用已经通过 echarts.registerTheme 注册的主题名称。
opts:附加参数。有下面几个可选项:
如果不指定主题,也需在传入 opts 前先传入 null,如:const chart = echarts.init(dom, null, {renderer: 'svg'});
改变图表尺寸,在容器大小发生改变时需要手动调用。
(opts?: { width?: number|string, height?: number|string, silent?: boolean, animation?: { duration?: number easing?: string } }) => ECharts
参数:
opts 可缺省。有下面几个可选项:
提示:
有时候图表会放在多个标签页里,那些初始隐藏的标签在初始化图表的时候因为获取不到容器的实际高宽,可能会绘制失败,因此在切换到该标签页时需要手动调用 resize 方法获取正确的高宽并且刷新画布,或者在 opts 中显示指定图表高宽。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
JavaScript实现乘和加的方法:1、通过function创建add和take函数,并设置两个参数;2、设置相加和相乘的数学公式;3、输入参数并在浏览器中输出计算结果即可。
javascript中的运算符大多由标点符号表示,少数由关键字表示,它们的语法言简意赅,它们的数量却着实不少,下面这篇文章主要给大家介绍了关于JavaScript中一些强大的运算符的相关资料,需要的朋友可以参考下
目录前言一、思路分析二、静态页面搭建2.1 结构层2.2 样式层三、js页面交互3.1 获取元素及变量初始化3.2 10个雷的初始化设置3.3 游戏开始事件封装3.4 核心事件函数封装3.5
搜索功能可以帮助我们更快的获取到我们想要的信息,那么我们做网站时如何实现一个搜索功能呢?这篇文章就以JavaScript实现百度搜索为例,介绍一下实现原理以及具体代码。
vue可拖拽进度条效果如何实现?进度条是在web开发中经常会遇到的需求,那么可拖拽的进度条效果是如何实现的呢?这篇文章就给大家分享一下vue实现简单可拖拽进度条效果的代码实例。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008