本文主要包含vue2-highcharts,数据,曲线等相关知识,匿名希望在学习及工作中可以帮助到您
这次给大家带来使用vue2-highcharts实现曲线数据,使用vue2-highcharts实现曲线数据的注意事项有哪些,下面就是实战案例,一起来看一下。
1、要实现的效果如下图:
2、vue前端页面如下:
<template> <p> <p> <p> <img src="../assets/index/back.png" class="rank-head-back" @click="routerBack"/> <span >历史曲线</span> </p> </p> <p > <p > <span >{{$route.params.monitorName}}({{$route.params.meterId}})</span> </p> </p> <p > <p > <yesterdaypicker v-on:startPicked="startPicked" style="margin-left:10px;"></yesterdaypicker> </p> <p > <daypicker v-on:endPicked="endPicked" style="margin-left:10px;"></daypicker> </p> </p> <p > <p > <vchooser :selections="periodList" @on-change="onParamChange('versions', $event)"></vchooser> </p> </p> <p > <p class="charts" > <vue-highcharts :options="options" ref="lineCharts" ></vue-highcharts> </p> </p> </p> </template> <script> import vchooser from '../components/chooser.vue' import VueHighcharts from 'vue2-highcharts' import daypicker from '../components/daypicker.vue' import yesterdaypicker from '../components/yesterdaypicker.vue' export default { data() { return{ startDay:'', endDay:'', setIntervalNum:0, itemStatus:0, itemTitle:'功率因数', itemType:this.$route.params.meterType, periodList:[ { label: '功率因数', value: 0 }, { label: '电流', value: 1 },{ label: '电压', value: 2 },{ label: '有功功率', value: 3 },{ label: '无功功率', value: 4 }/*,{ label: '视在功率', value: 5 }*/,{ label: '有功电量', value: 6 }, ], ownerFreeData: [], options: { global: { useUTC: false }, chart: { type: 'spline' }, title: { text: '功率因素' //text: ' ' }, subtitle: { text: '' }, xAxis: { type: 'category' }, yAxis: { title: { text: '功率因素(%)' //text: ' ' }, labels: { formatter: function () { return this.value; } } }, tooltip: { crosshairs: true, shared: true }, credits: { enabled: false }, plotOptions: { spline: { marker: { radius: 4, lineColor: '#666666', lineWidth: 1 } } }, series: [] } } }, methods: { startPicked(year, month, date) { //this.ownerFreeData = [] if(this.$refs.lineCharts != null){ this.$refs.lineCharts.removeSeries(); } var monthStr = ''; var dayStr = ''; if(month < 10){ monthStr = `0${month}`; }else{ monthStr = `${month}`; } if(date < 10){ dayStr = `0${date}`; }else{ dayStr = `${date}`; } this.startDay = `${year}-` + monthStr + '-' + dayStr; if(this.$refs.lineCharts != null){ this.getList(); } }, endPicked(year, month, date) { //this.ownerFreeData = [] if(this.$refs.lineCharts != null){ this.$refs.lineCharts.removeSeries(); } var monthStr = ''; var dayStr = ''; if(month < 10){ monthStr = `0${month}`; }else{ monthStr = `${month}`; } if(date < 10){ dayStr = `0${date}`; }else{ dayStr = `${date}`; } this.endDay = `${year}-` + monthStr + '-' + dayStr; if(this.$refs.lineCharts != null){ this.getList(); } }, onParamChange (attr, val) { this.itemStatus = val.value; if(this.$refs.lineCharts != null){ this.$refs.lineCharts.removeSeries(); } if(this.$refs.lineCharts != null){ this.getList(); } }, routerBack(){ //let lineCharts = this.$refs.lineCharts; //lineCharts.getChart().destroy(); //this.$router.go(-1); var mid = this.$route.params.id; var mname = this.$route.params.name; var mpname = this.$route.params.pname; this.$router.push({name: 'timeSortPoint', params: {id: mid,name:mname,pname:mpname}}); }, setType(){ var title = ''; let lineCharts = this.$refs.lineCharts; if(this.itemStatus == 0){ title = '功率因素'; lineCharts.getChart().title.update({ text: '功率因素' }); lineCharts.getChart().yAxis[0].setTitle({text:'功率因素(%)'}); if(this.itemType == 0){ lineCharts.addSeries({name: this.startDay + ' 功率因素',data: []}); lineCharts.addSeries({name: this.endDay + ' 功率因素',data: []}); }else if(this.itemType == 1){ lineCharts.addSeries({name: this.startDay + ' 总功率因素',data: []}); lineCharts.addSeries({name: this.startDay + ' A相功率因素',data: []}); lineCharts.addSeries({name: this.startDay + ' B相功率因素',data: []}); lineCharts.addSeries({name: this.startDay + ' C相功率因素',data: []}); lineCharts.addSeries({name: this.endDay + ' 总功率因素',data: []}); lineCharts.addSeries({name: this.endDay + ' A相功率因素',data: []}); lineCharts.addSeries({name: this.endDay + ' B相功率因素',data: []}); lineCharts.addSeries({name: this.endDay + ' C相功率因素',data: []}); } }else if(this.itemStatus == 1){ title = '电流'; lineCharts.getChart().title.update({ text: '电流' }); lineCharts.getChart().yAxis[0].setTitle({text:'电流(A)'}); if(this.itemType == 0){ lineCharts.addSeries({name: this.startDay + ' 电流',data: []}); lineCharts.addSeries({name: this.endDay + '电流',data: []}); }else if(this.itemType == 1){ lineCharts.addSeries({name: this.startDay + ' Ia 相电流',data: []}); lineCharts.addSeries({name: this.startDay + ' Ib 相电流',data: []}); lineCharts.addSeries({name: this.startDay + ' Ic 相电流',data: []}); lineCharts.addSeries({name: this.startDay + ' 零序电流',data: []}); lineCharts.addSeries({name: this.endDay + ' Ia 相电流',data: []}); lineCharts.addSeries({name: this.endDay + ' Ib 相电流',data: []}); lineCharts.addSeries({name: this.endDay + ' Ic 相电流',data: []}); lineCharts.addSeries({name: this.endDay + ' 零序电流',data: []}); } }else if(this.itemStatus == 2){ title = '电压'; lineCharts.getChart().title.update({ text: '电压' }); lineCharts.getChart().yAxis[0].setTitle({text:'电压(V)'}); if(this.itemType == 0){ lineCharts.addSeries({name: this.startDay + ' 电压',data: []}); lineCharts.addSeries({name: this.endDay + ' 电压',data: []}); }else if(this.itemType == 1){ lineCharts.addSeries({name: this.startDay + ' A相电压',data: []}); lineCharts.addSeries({name: this.startDay + ' B相电压',data: []}); lineCharts.addSeries({name: this.startDay + ' C相电压',data: []}); lineCharts.addSeries({name: this.endDay + '