前端基于VUE的v-charts的曲线显示

目录

  • 前端基于VUE的v-charts的曲线显示
  • 1. 应用背景
  • 2. 分析数据生产者生成
  • 3. 取出数据消费者
  • 4. 前端显示
    • 4.1 安装V-charts插件
    • 4.2 引入veline曲线插件
    • 4.3 曲线标签 ve-line
      • 4.3.1 方法一:直接使用html标签
      • 4.3.2 方法二:pug编译
    • 4.4 前端写入调试模拟数据
    • 4.5 注册组件
  • 5 总体效果
  • 6后端基于Net Core的电能定时计算

前端基于VUE的v-charts的曲线显示

1. 应用背景

在做一个某路灯管理处的物联网项目时,需要统计8个电表的电能曲线(时间-电能),需求就是能生成日报(24个点,间隔1小时,实时),月报(30个点,间隔1天,取每天的凌晨1点数据),年报(每个月,1号凌晨1点数据开始间隔9天,每个月取3个点,总共36个点)。

2. 分析数据生产者生成

首先采集服务每隔一段时间会去采集电表的电能数据,模拟历史表会利用存储过程将实时数据写入his_aic表里。

3. 取出数据消费者

30天 aic数据4万条记录左右 日报,月报可以直接在历史数据表中取
日表,定时任务,每隔1小时存入整点数据(如果没有整点,排序之后取接近点数据),一天24个数据,一年8760条记录。
月表,定时任务,每天凌晨1点取数据,按时间存入,一个月30条记录
年表,定时任务,1号,10号,19号,28号(每个月取4个数据,按时间记录,一年48条记录)
定时任务利用Coravel定时器完成,具体可参见Coravel定时器相关博客

4. 前端显示

前端曲线基于v-chart

在使用 echarts 生成图表时,经常需要做繁琐的数据类型转化、修改复杂的配置项,v-charts 的出现正是为了解决这个痛点。基于 Vue2.0 和 echarts 封装的 v-charts 图表组件,只需要统一提供一种对前后端都友好的数据格式设置简单的配置项,便可轻松生成常见的图表。

4.1 安装V-charts插件

npm i v-charts echarts -S
如果已经安装了echarts,则直接安装v-charts即可
npm i v-charts -S

4.2 引入veline曲线插件

import VeLine from 'v-charts/lib/line'

4.3 曲线标签 ve-line

4.3.1 方法一:直接使用html标签

<template>
  <div>
    <ve-line :data="chartData" :settings="chartSettings"></ve-line>
  </div>
</template>

4.3.2 方法二:pug编译

4.3.2.1 pug的安装

先安装node环境

  • 安装支持pug依赖:npm install pug pug-loader pug-filters -D
  • 安装支持jade依赖:npm install jade jade-loader -D

    4.3.2.2 pug的使用

<template lang="pug">
          div
            ve-line(:data='chartData', :settings='chartSettings')
</template>

注意:使用pug空格数量要与上下文对应

4.4 前端写入调试模拟数据

export default {
  data(){
    return {
      chartData: {
        columns: ['日期','电能1','电能2','电能3','电能4','电能5','电能6','电能7','电能8'],
        rows: [
          { '日期': '10月1日', '电能1': 0, '电能2': 1, '电能3': 0.5, '电能4': 0.63,'电能5': 0.8, '电能6': 2, '电能7': 2.1, '电能8': 1.7  },
          { '日期': '10月2日', '电能1': 1, '电能2': 2, '电能3': 4, '电能4': 0.9,'电能5': 1.1, '电能6': 2.1, '电能7': 4.3, '电能8': 2.6 },
          { '日期': '10月3日', '电能1': 1.6, '电能2': 2.6, '电能3': 4.5, '电能4': 1.9,'电能5': 2.3, '电能6': 3.5, '电能7': 5.3, '电能8': 3.2 },
          { '日期': '10月4日', '电能1': 2.3, '电能2': 5.2, '电能3': 5.4, '电能4': 2.7,'电能5': 3.2, '电能6': 4.3, '电能7': 6.8, '电能8': 3.5 },
          { '日期': '10月5日', '电能1': 3.8, '电能2': 6.2, '电能3': 6.4, '电能4': 4.5,'电能5': 4.5, '电能6': 6.5, '电能7': 7.1, '电能8': 5.5 },
          { '日期': '10月6日', '电能1': 5.3, '电能2': 6.8, '电能3': 8.4, '电能4': 5.6,'电能5': 6.3, '电能6': 7.8, '电能7': 7.5, '电能8': 7.3 }
        ]
      },
      chartSettings: {
         yAxisName: ['kWh']
      },
    }
  }
  components: { VeLine }
}

使用 data 属性表示图表的数据,使用 settings 用作图表的显示状态配置,settings 中所包含的是具体的图表配置,这里通过yAxisName设置电能单位为kWh

4.5 注册组件

4.4中已经加入了注册组件的代码。

components: { VeLine  }

5 总体效果

这里只展示了月报里的7天,可以设置按钮同样道理依次展示日报年报数据。

6后端基于Net Core的电能定时计算

后端电能定时计算部分预计10月1日-4日会完成,比前端要复杂一些。

原文地址:https://www.cnblogs.com/JerryMouseLi/p/11613877.html

时间: 2024-11-11 02:28:30

前端基于VUE的v-charts的曲线显示的相关文章

基于VUE选择上传图片并在页面显示(图片可删除)

demo例子: 依赖文件 : http://files.cnblogs.com/files/zhengweijie/jquery.form.rar HTML文本内容: <template> <div id="accident"> <div class="wrapper"> <i class="icon-pic"></i>相关照片 <button type="button&

基于Vue+Spring MVC+MyBatis+Shiro+Dubbo开发的分布式后台管理系统

最近项目中使用了shiro做权限管理,在开发过程中也踩了一些坑,于是便有了开发个应用巩固一下所学知识的想法,正好在开发的过程里学习一下Vue开发. 技术栈方面,现在前后端分离大行其道,于是也采用了前后端分离的模式,前端基于Vue+Element,后端Web基于Spring MVC,用Dubbo提供分布式服务,前端可以部署到nginx,后端Web可以部署到Tomcat.Jetty或Undertow等Servlet容器,Dubbo服务可以作为独立的java进程运行,这种架构下,各层都比较容易实现横向

基于Vue公众号开发中的哪些坑 (严重鄙视ios,遇到的坑基本都是在ios中)

一.ios白屏问题ios端基于vue开发的H5无法正常显示,白屏问题1.代码问题确定方法:在ie/edge浏览器中打开,看是否正常显示,如果仍然白屏,可以确定问题解决方法:1.代码中是否使用es6,如果使用,确定使用es6转es5,(npm install babel-polyfillnpm install es6-promise)2.参考 https://www.cnblogs.com/love314159/articles/9355785.html3.以上方法都不行的话,查看源码是在main

3.ASP.NET全栈开发之前端校验(基于Vue的自定义校验)自实现小型验证框架

前面分享了两篇关于.NET的服务端校验的文章,在系统里光有服务端校验虽然能够勉强使用,但会出现许多不愉快的体验,如上一章我在最后提交的时候填写了3个表单,在仅有最后一个表单出现了错误的时候,虽然达到了校验功能,表明了错误,但我前面三个表单的数据都被干掉了啊.再则比如注册的时候我填了那么多东西,我提交后你却告诉我已经被注册了,如果不是真爱,大概会毫不留情的Alt+F4 再也不见啦. 为了解决这个问题,我们必须在系统中采用双校验,前端校验那么多,咱们ASP.NET MVC创建时默认会引入jquery

《基于Vue.js的Web前端应用研究》文献阅读(十五)

一.基本信息 标题:基于Vue.js的Web前端应用研究 时间:2017 来源:科技与创新 关键词:Web前端:Vue.js:JavaScript组件:Vue框架 二.研究内容 1.主要内容: 随着互联网的迅猛发展,用户对Web前端的使用体验.交互操作流程.外观有了更高的要求.特别是Web系统中越来越多的数据处理和业务逻辑开始偏向前端,导致Web前端工作量扩大,代码量增加.如果仍然采用传统的方式开发设计Web前端,会导致前期开发度和后期维护难度增大,可扩展性变差.为了提高开发效率和代码复用率,越

基于vue前端状态管理模式

本文仅介绍及区分localstorage.vuex以及vue的全局变量.组件. 一.localstorage简介 localStorage.sessionStorage以及cookie都是在浏览器用来存储数据的,只是作用于浏览器,不会存在与服务器交互的情况.sessionStorage只在当前的域名中有效,重新打开一个新窗口就会重新创建一个sessionStorage对象.而localstorage会一直存在,直到我们手动清除浏览器数据,否则会一直存在浏览器中. 二.vuex简介 vuex是专门

记一次基于vue的spa多页签实践经验

前言 最近收到一个这样的需求,要求做一个基于 vue 和 element-ui 的通用后台框架页,具体要求如下: 要求通用性高,需要在后期四十多个子项目中使用,所以大部分地方都做成可配置的. 要求做成脚手架的形式.可以 npm 安装 要求实现多页签,并且可以通过浏览器 url 回显多页签.而且页签内要维护一个历史记录,可以后退 组件要求异步加载,减少首屏加载时间. 很明显,这就是一个 类 ERP 的应用. 做过 JSP 等后台的同学,对多页签应该都很熟悉吧. 那接下来我们就来谈谈实现. 通用性高

Vue Admin - 基于 Vue &amp; Bulma 后台管理面板

Vue Admin 是一个基于 Vue 2.0 & Bulma 0.3 的后台管理面板(管理系统),相当于是 Vue 版本的 Bootstrap 管理系统,提供了一组通用的后台界面 UI 和组件,其中还有丰富的图表组件,开箱即用.赶紧来体验一下吧. 在线演示      免费下载 您可能感兴趣的相关文章 网站开发中很有用的 jQuery 效果[附源码] 分享35个让人惊讶的 CSS3 动画效果演示 十分惊艳的8个 HTML5 & JavaScript 特效 Web 开发中很实用的10个效果[

【前端】Vue.js经典开源项目汇总

Vue.js经典开源项目汇总 原文链接:http://www.cnblogs.com/huyong/p/6517949.html Vue是什么? Vue.js(读音 /vju?/, 类似于 view) 是一套构建用户界面的 渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合.另一方面,Vue 完全有能力驱动采用单文件组件和 Vue 生态系统支持的库开发的复杂单页应用. Vue.js 的目标是通过