echarts5.0使用动态柱形图用定时器限定次数vue
Posted Afololer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了echarts5.0使用动态柱形图用定时器限定次数vue相关的知识,希望对你有一定的参考价值。
<style scoped>
#chart_example
width: 50%;
height: 500px;
</style>
<template>
<div >
<h2>vue中插入Echarts示例</h2>
<div id="chart_example">
</div>
</div>
</template>
<script>
import * as echarts from 'echarts'
//import world from '../node_modules/echarts/map/js/world.js'
// import '../../node_modules/echarts/map/js/china.js' // 引入中国地图数据
export default
data()
return
,
mounted()
let cnt = 0
var timeData = [];
var now = new Date("February 27, 2020 11:13:00");
Date.prototype.getMonthDay = function()
return (this.getMonth() + 1) + '.' + this.getDate();
timeData.push(now.getMonthDay());
for(var i = 0 ; i < 2 ; i ++)
now.setDate(now.getDate() + 1);
timeData.push(now.getMonthDay())
const data = [];
for (let i = 0; i < 5; ++i)
data.push(Math.round(Math.random() * 200));
let myChart = echarts.init(document.getElementById('chart_example'),'dark');
let option =
xAxis:
max: 'dataMax'
,
yAxis:
type: 'category',
data: ['A', 'B', 'C', 'D', 'E'],
inverse: true,
animationDuration: 300,
animationDurationUpdate: 300,
max: 2 // only the largest 3 bars will be displayed
,
series: [
realtimeSort: true,
name: 'X',
type: 'bar',
data: data,
label:
show: true,
position: 'right',
valueAnimation: true
],
legend:
show: true
,
animationDuration: 0,
animationDurationUpdate: 3000,
animationEasing: 'linear',
animationEasingUpdate: 'linear'
;
function run()
for (var i = 0; i < data.length; ++i)
if (Math.random() > 0.9)
data[i] += Math.round(Math.random() * 2000);
else
data[i] += Math.round(Math.random() * 200);
myChart.setOption(
series: [
type: 'bar',
data
]
);
setTimeout(function ()
run();
, 0);
// function sleep(millisecond)
// return new Promise(resolve =>
// setTimeout(() =>
// resolve()
// , millisecond)
// )
//
//alert(timeData.length)
let myvar = setInterval(function ()
if(cnt>timeData.length)
clearInterval(myvar)
run();
cnt++;
, 3000); //次数为timeData的长
myChart.setOption(option)
//建议加上以下这一行代码,不加的效果图如下(当浏览器窗口缩小的时候)。超过了div的界限(红色边框)
window.addEventListener('resize',function() myChart.resize());
,
methods: ,
watch: ,
created()
</script>
可以根据指定天数动态更新数据
注意
使用时如果echarts不是5.0版本,要升级到5.0
同时
import echarts from "echarts";
更换为
import * as echarts from 'echarts'
由于是动态的,无法截图,可以参考官方示例
https://echarts.apache.org/examples/zh/editor.html?c=bar-race
以上是关于echarts5.0使用动态柱形图用定时器限定次数vue的主要内容,如果未能解决你的问题,请参考以下文章
如何用MATLAB做双纵坐标图?其中一条是折线图,另一个是柱形图,还有我想做多子图的
如何让java利用POI导出excel表,并在Excel表中根据表格的数据生成柱形图。要求柱形图是动态的。