Vue+Echarts+API 实现折线图对农地温湿度采集功能

29 篇文章 1 订阅
1 篇文章 0 订阅

前言

    农田农作物种植最主要受到的环境因素一般有温度、湿度等等,这两个环境因素的不同,可以影响到农物的生长,所以我们要设计的是一个可以实时获取到现场农田的温湿度的设备--温湿度模块,这里我们就不详述,通过模块可以得到数据,将数据存在后端数据库,实现前后端分离,这样我们只需要将后端那边得到整理好的数据,以我们的方式将它展示出来就好了。

简述vue的优势

  1. 控件自动可以和数据模块进行绑定,当数据发送到后台后,可以调用到 data 函数里面的数据值,而不需要使用 ID 来获取控件里面的值,对控件的赋值也更加方便。简单而言,只需改变 data 里面的值,就可以将复杂的网页界面操作,转换为对 数据进行操作。
  2. 页面传值更加的方便,VUE 可以直接将参数值保存在对象里面,在通过子组件的属性存储到一个对 象里面进行使用就可以了。
  3. 模块化开发和模块化更新。比如在本系统设计中一个列表页面里面有添加的功 能需求、有修改功能需求。
  4. 操作简单,使用终端命令即可进行需求安装等操作,一般只需要使用 NPM 命令,即可进行终端安装。

 

ECharts引入项目

此次开发环境是使用npm等包管理工具,并使用Webpack等打包工具进行构建。

npm安装ECharts

使用命令即可安装

npm install echarts --save

 按需引入ECharts图表和组件

可以暗战相应的代码引入ECharts中所有的图表和组件,加入你不想引入所有组件,也可以使用ECharts提供的按需引入的接口来打包必须的组件。

对于使用TypeScript开发的,可以使用组合矗最小的EChartsOption类型,这个更严格的类型可以有效的帮助检查矗是否家在了组件或者图表。

import * as echarts from 'echarts/core';
import {
  BarChart,
  // 系列类型的定义后缀都为 SeriesOption
  BarSeriesOption,
  LineChart,
  LineSeriesOption
} from 'echarts/charts';
import {
  TitleComponent,
  // 组件类型的定义后缀都为 ComponentOption
  TitleComponentOption,
  TooltipComponent,
  TooltipComponentOption,
  GridComponent,
  GridComponentOption,
  // 数据集组件
  DatasetComponent,
  DatasetComponentOption,
  // 内置数据转换器组件 (filter, sort)
  TransformComponent
} from 'echarts/components';
import { LabelLayout, UniversalTransition } from 'echarts/features';
import { CanvasRenderer } from 'echarts/renderers';

// 通过 ComposeOption 来组合出一个只有必须组件和图表的 Option 类型
type ECOption = echarts.ComposeOption<
  | BarSeriesOption
  | LineSeriesOption
  | TitleComponentOption
  | TooltipComponentOption
  | GridComponentOption
  | DatasetComponentOption
>;

// 注册必须的组件
echarts.use([
  TitleComponent,
  TooltipComponent,
  GridComponent,
  DatasetComponent,
  TransformComponent,
  BarChart,
  LineChart,
  LabelLayout,
  UniversalTransition,
  CanvasRenderer
]);

const option: ECOption = {
  // ...
};

API

API 接口一种应用程序的编程式接口, 是一种提供于系统开发与软硬件之间桥梁作用的作用,API 接口封装简单、具有模块化、 使用方便无需进行访问即可进行调用的特点。在农业管理系统中,下图为数据信息下流动过程图:

实操

         我们要做的是,将获取到的农田现场采集的温湿度数据信息进行前端界面化展示,该模块的功能主要是结合ECharts图表,这个可以直接去官网搜索就好了,里面有各式各样的图形模块,然后最终展示出来的结果是可以通过点击温湿度折线图显示具体的时间段数据信息。

 效果图:

效果图

                                                                 

实物图:

 

新建一个工程模块

analysis.vue

<!-- 折线图部分,名字class称为line折线的意思-->
 <div class="line" id="main" style="width:300px;height:350px">
   <el-select v-model="value" placeholder="温湿度折线图" size="mini" clearable @change="selectChange">
     <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"></el-option>
   </el-select></div>

<script>
import * as echarts from 'echarts'
</scripr>

// 折线图
    var option = {
      title: {
        text: '温湿度'
      },
      legend: {
        show: true,
        data: ['温度℃', '湿度%']
      },
      xAxis: {
        type: 'category',
        //样式是x轴的样式为cate样式
        data: ['周一', '周二', '周三', '周四', '周五', '周六', '周天']
        //里面的数据为周一到周天的全部数据
      },
      //这里是将y轴设计成左边是温度,右边是湿度这样的形式
      yAxis: [{
        type: 'value',
        name: '温度℃',
        max: 100,
        min: 0
      }, {
        type: 'value',
        name: '湿度%',
        max: 100,
        min: 0
      }],
      //设计温度和湿度进行的数据报表,设计的形式以line线的形式进行设计
      series: [{
        name: '温度℃',
        data: [41, 37.5, 39.4, 36.5, 40.3, 39, 42],
        type: 'line',
      }, {
        name: '湿度%',
        data: [50, 60, 65, 66, 60, 70, 76],
        type: 'line'
      }],
      //添入一个功能,当鼠标指到折线图上的点的位置的时候,就可以在图上显示他们相应位置的数值
       tooltip: {
         trigger: 'axis',
         axisPointer: {
           type: 'cross',
           label: {
             backgroundColor: '#6a7985'
           }
         },
       }
    }
    myChart.setOption(option)
  },
记得在相应的.js文件里进行调用就好了。
  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
您好,要实现折线图来展示收支情况,您可以使用 Vue.js 和 ECharts实现。 首先,您需要使用 Vue.js 来搭建页面,然后使用 ECharts 来绘制折线图。以下是一个简单的实现步骤: 1. 引入 ECharts 库和 Vue.js 库: ```html <!-- 引入 ECharts 库 --> <script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script> <!-- 引入 Vue.js 库 --> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> ``` 2. 在 Vue.js 中定义折线图的数据: ```javascript data() { return { // 折线图数据 chartData: { // X轴数据 xData: ['1月', '2月', '3月', '4月', '5月', '6月'], // Y轴数据 yData: [ { name: '支出', type: 'line', data: [1200, 1500, 800, 1100, 1300, 900] }, { name: '收入', type: 'line', data: [800, 1100, 1500, 1200, 1000, 1400] } ] } } } ``` 3. 在 Vue.js 中使用 ECharts 绘制折线图: ```javascript mounted() { // 初始化 ECharts 实例 const chart = echarts.init(this.$refs.chart) // 设置 ECharts 配置项 const option = { // 图表标题 title: { text: '收支情况' }, // 图表工具箱 toolbox: { show: true, feature: { saveAsImage: { show: true, title: '保存为图片' } } }, // X轴数据 xAxis: { type: 'category', data: this.chartData.xData }, // Y轴数据 yAxis: { type: 'value' }, // 数据系列 series: this.chartData.yData } // 使用 ECharts 绘制折线图 chart.setOption(option) } ``` 4. 在 Vue.js 中渲染折线图: ```html <template> <div> <div ref="chart" style="width: 100%; height: 400px;"></div> </div> </template> ``` 以上是一个简单的实现步骤,您可以根据自己的需求进行修改和完善。希望对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丘比特惩罚陆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值