Vue框架中如何让图表自适应,方法是什么
Admin 2022-06-17 群英技术资讯 998 次浏览
这篇文章主要讲解了“Vue框架中如何让图表自适应,方法是什么”,文中的讲解内容简单、清晰、详细,对大家学习或是工作可能会有一定的帮助,希望大家阅读完这篇文章能有所收获。下面就请大家跟着小编的思路一起来学习一下吧。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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
目录vue实现Toast轻提示首先创建一个toast组件在js文件中引入组件在入口文件中引入上面这个js文件下面就可以在view里全局使用了使用vant的Toast轻提示报错文档中是这样写的实际使用是这样写vue实现Toast轻提示首先创建一个toast组件template div class=context v-s
一、说一下连接不同的数据库需要安装相应的插件,此demo使用mysql数据库,需自行安装mysql数据库软件。新建数据库webapp,新建表users:二、直接开码npminstallmysql--save注释:安装mysql依赖包,保存在本项目1、测试尝试连接数据库,并查询表users在app.js中,随便找个位置添加如下测试代码,测
在之前的文章《JS循环学习:while循环语句的使用(示例详解)》中,我们简单了解了 while 循环和 do while 循环,而今天再来介绍一种循环——for 循环语句,希望对大家有所帮助!
这篇文章主要为大家介绍了JavaScript canvas 实现用代码画画示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
目录前言:对象解构示例 {}解构空对象嵌套对象解构前言:使用 JavaScript 对象解构来节省代码,JavaScript 对象解构赋值在项目开发中是一个常用的技能。先来看一个article对象,有两个属性title和description。const article = { title: JavaScript
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008