参考链接:(https://blog.csdn.net/Y_Cfeng/article/details/92838516)(侵删)
push shift进行更新:
1:定义echarts的option
let option = { // 标题 title: { text: “空气温度与时间的关系图”, left: “center” }, // 提示框 tooltip: { trigger: “axis” }, // 是否显示工具栏组件 toolbox: { show: true, feature: { mark: { show: true }, dataView: { show: true, readOnly: false }, // 数据视图工具,可以展示当前图表所用的数据,编辑后可以动态更新 magicType: { show: true, type: [“line”, “bar”] }, // 动态类型切换 restore: { show: true }, // 重置 saveAsImage: { show: true } // 保存图片 } }, calculable: true, // x 轴 表示 xAxis: { data: [] }, // y 轴 表示 yAxis: [ { type: “value”, axisLabel: { formatter: “{value} °C” } } ], series: [ // 最高温 { name: “当前气温”, type: “line”, data: [] } ] };
2:初始化echarts
var myChart = this.$echarts.init(document.getElementById("chart"));
3:使用刚指定的配置项和绘制图表,数据为 option
myChart.setOption(option);
4:数据加载完之前 显示一段简单 的 loading 动画
myChart.showLoading();
5:从后台获取数据 (可用ajax)
var dataX = []; // 实际存放 x 轴的 值 var dataV = []; // 实际存放 y 轴的 值
6:隐藏加载动画
myChart.hideLoading();
7:加载数据图表
myChart.setOption({
xAxis: {
data: dataX
},
series: [
{
data: dataV
}
]
});
8:实时更新
let timeTicket;
clearInterval(timeTicket);
9:设置定时器,没四秒更新一次数据
timeTicket = setInterval(function() { // 获取到图表的 option option = myChart.getOption(); let arr = option.series[0].data; if (arr.length == 30) { arr.shift(); // 从队头删除数据 } arr.push(Math.round(Math.random() * 5 + 25)); // 从对尾添加数据 // 加载数据 图表 myChart.setOption(option); }, 4000);