使用vue2-highcharts实现曲线数据
导读:收集整理的这篇文章主要介绍了使用vue2-highcharts实现曲线数据,觉得挺不错的,现在分享给大家,也给大家做个参考。这次给大家带来使用vue2-highcharts实现曲线数据,使用vue2-highcharts实现曲线数据的注意事...
收集整理的这篇文章主要介绍了使用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 + ' A相电压',data: []} ); lineCharts.addSeries({ name: this.endDay + ' B相电压',data: []} ); lineCharts.addSeries({ name: this.endDay + ' C相电压',data: []} ); } } else if(this.itemStatus == 3){ title = '有功功率'; lineCharts.getChart().title.update({ text: '有功功率' } ); lineCharts.getChart().yAxis[0].setTitle({ text:'有功功率(KVA)'} ); 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 == 4){ title = '无功功率'; lineCharts.getChart().title.update({ text: '无功功率' } ); lineCharts.getChart().yAxis[0].setTitle({ text:'有功功率(KVA)'} ); 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 == 5){ } else if(this.itemStatus == 6){ title = '总有功电量'; lineCharts.getChart().title.update({ text: '总有功电量' } ); lineCharts.getChart().yAxis[0].setTitle({ text:'总有功电量(KWH)'} ); lineCharts.addSeries({ name: this.startDay + ' 总有功电量',data: []} ); lineCharts.addSeries({ name: this.endDay + '总有功电量',data: []} ); } } , getList(){ var title = ''; let lineCharts = this.$refs.lineCharts; var meterId = this.$route.params.meterId; this.setType(); this.$http.post(this.URLINFO + '/mobile/electricity/getElectricityApp.do',{ meterId:meterId,startDay:this.startDay,endDay:this.endDay} ) .then(function (res) { for(var i = 0; i res.data.ls1.length; i++) { if(this.itemStatus == 0){ if(this.itemType == 0){ lineCharts.getChart().series[0].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].totalnum],false,false); } else if(this.itemType == 1){ lineCharts.getChart().series[0].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].totalnum],false,false); lineCharts.getChart().series[1].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].numa],false,false); lineCharts.getChart().series[2].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].numb],false,false); lineCharts.getChart().series[3].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].numc],false,false); } } else if(this.itemStatus == 1){ if(this.itemType == 0){ lineCharts.getChart().series[0].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ia[i].ia],false,false); } else if(this.itemType == 1){ lineCharts.getChart().series[0].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].ia],false,false); lineCharts.getChart().series[1].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].ib],false,false); lineCharts.getChart().series[2].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].ic],false,false); lineCharts.getChart().series[3].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].zeROI],false,false); } } else if(this.itemStatus == 2){ if(this.itemType == 0){ lineCharts.getChart().series[0].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ia[i].ua],false,false); } else if(this.itemType == 1){ lineCharts.getChart().series[0].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].ua],false,false); lineCharts.getChart().series[1].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].ua],false,false); lineCharts.getChart().series[2].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].uc],false,false); } } else if(this.itemStatus == 3){ if(this.itemType == 0){ lineCharts.getChart().series[0].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ia[i].totalp],false,false); } else if(this.itemType == 1){ lineCharts.getChart().series[0].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].pa],false,false); lineCharts.getChart().series[1].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].pb],false,false); lineCharts.getChart().series[2].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].pc],false,false); } } else if(this.itemStatus == 4){ if(this.itemType == 0){ lineCharts.getChart().series[0].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ia[i].reactivep],false,false); } else if(this.itemType == 1){ lineCharts.getChart().series[0].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ia[i].reactivep],false,false); lineCharts.getChart().series[1].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].reactivepa],false,false); lineCharts.getChart().series[2].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].reactivepb],false,false); lineCharts.getChart().series[3].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].reactivepc],false,false); } } else if(this.itemStatus == 6){ lineCharts.getChart().series[0].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ia[i].readNum],false,false); } } for(var i = 0; i res.data.ls2.length; i++) { if(this.itemStatus == 0){ if(this.itemType == 0){ lineCharts.getChart().series[1].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].totalnum],false,false); } else if(this.itemType == 1){ lineCharts.getChart().series[4].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].totalnum],false,false); lineCharts.getChart().series[5].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].numa],false,false); lineCharts.getChart().series[6].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].numb],false,false); lineCharts.getChart().series[7].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].numc],false,false); } } else if(this.itemStatus == 1){ if(this.itemType == 0){ lineCharts.getChart().series[1].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].ia],false,false); } else if(this.itemType == 1){ lineCharts.getChart().series[4].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].ia],false,false); lineCharts.getChart().series[5].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].ib],false,false); lineCharts.getChart().series[6].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].ic],false,false); lineCharts.getChart().series[7].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].zeroi],false,false); } } else if(this.itemStatus == 2){ if(this.itemType == 0){ lineCharts.getChart().series[1].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].ua],false,false); } else if(this.itemType == 1){ lineCharts.getChart().series[3].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].ua],false,false); lineCharts.getChart().series[4].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].ub],false,false); lineCharts.getChart().series[5].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].uc],false,false); } } else if(this.itemStatus == 3){ if(this.itemType == 0){ lineCharts.getChart().series[1].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].totalp],false,false); } else if(this.itemType == 1){ lineCharts.getChart().series[4].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].totalp],false,false); lineCharts.getChart().series[5].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].pa],false,false); lineCharts.getChart().series[6].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].pb],false,false); lineCharts.getChart().series[7].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].pc],false,false); } } else if(this.itemStatus == 4){ if(this.itemType == 0){ lineCharts.getChart().series[1].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].reactivep],false,false); } else if(this.itemType == 1){ lineCharts.getChart().series[4].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].reactivep],false,false); lineCharts.getChart().series[5].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].reactivepa],false,false); lineCharts.getChart().series[6].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].reactivepb],false,false); lineCharts.getChart().series[7].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].reactivepc],false,false); } } else if(this.itemStatus == 6){ lineCharts.getChart().series[1].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].readNum],false,false); } } lineCharts.getChart().redraw(); } ) .catch(function (error) { console.LOG(error) this.$toast('查询业主电费异常'); } ); } } , components: { vchooser, VueHighcharts, daypicker, yesterdaypicker } , mounted () { this.getList() } } function getcurrentTime(){ var date = new Date(); var hour = date.getHours() 10 ? "0" + date.getHours() : date.getHours(); var minute = date.getMinutes() 10 ? "0" + date.getMinutes() : date.getMinutes(); var second = date.getSeconds() 10 ? "0" + date.getSeconds() : date.getSeconds(); return hour + ':' + minute + ':' + second; } function getTime(nS){ return new Date(parseint(nS) * 1000).toLocaleString().substr(0,17) } function formatDate(now) { var year=now.getYear(); var month=now.getMonth()+1; var date=now.getDate(); var hour=now.getHours(); var minute=now.getMinutes(); var second=now.getSeconds(); //return year+"-"+month+"-"+date+" "+hour+":"+minute+":"+second; return hour+":"+minute+":"+second; } function getTimeStr(ns){ var d=new Date(ns); return formatDate(d); } /script> style> *{ margin:0; padding:0; list-style:none } h1,h2,h3,h4,h5,h6{ font-Size:16px; font-weight:normal; } .rank-head{ width: 100%; height: 40px; position:fixed; background: -webkit-linear-gradient(top,rgba(0,0,0,.6),rgba(0,0,0,0)); z-index: 999; color: #fff; font-size: 16px; text-align: center; line-height: 40px; } .container{ width: 100%; overflow: hidden} .rank-head-back{ display: block; float: left; width: 40px; height: 40px; background: url("../assets/index/back.png") no-repeat center center; background-size: 100% 100%; } /style>
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
Canvas如何做出3D动态的Chart图表
H5读取文件并上传到服务器的方法
以上就是使用vue2-highcharts实现曲线数据的详细内容,更多请关注其它相关文章!
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 使用vue2-highcharts实现曲线数据
本文地址: https://pptw.com/jishu/583995.html