Vue框架中如何让图表自适应,方法是什么
Admin 2022-06-17 群英技术资讯 1093 次浏览
这篇文章主要讲解了“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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
父子组件之间的通信就是props down,events up,父组件通过属性props向下传递数据给子组件,子组件通过事件events 给父组件发送消息,这篇文章主要给大家介绍了关于vue中组件的props属性的相关资料,需要的朋友可以参考下
这篇文章主要为大家详细介绍了JavaScript实现弹性导航效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
react link不跳转怎么办?对于出现react router native:link点击不跳转的问题,有一些朋友不知道怎样解决,对此这篇针对下面的示例小编和大家一起来分析解决看看,需要的朋友就继续往下看吧。
js有多种数据类型(Number(数值)、String(字符串)、Boolean(布尔值)、Null、Undefined、Symbol、Object、函数等),在开发过程中难免需要判断数据类型,本文总结了四种判断方法给大家分享,需要的朋友可以参考一下
1.安装python-software-propertiessudoapt-getinstallpython-software-properties2.添加ppacurl-sLhttps://deb.nodesource.com/setup_8.x|sudo-Ebash-3.安装nodejs和npmsudoapt-getinstallnodejs4.查看
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008