微信小程序折线图显示小程序云数据库数据

学习过程中的笔记。

显示效果图:
在这里插入图片描述
1.在github上下载一个js文件放在微信小程序的utils文件夹下。
点击跳转github地址
2.在chart.js上导入

var wxCharts=require('../../utils/wxcharts.js');

3.打开云开发平台
在这里插入图片描述
4.数据库里添加集合名称,并且添加需要显示的数据信息。
在这里插入图片描述
这样基本工作就可以了,下面是数据库信息的处理和显示。看代码理解

chart.js完整代码:

// pages/warn/warn.js
var wxCharts=require('../../utils/wxcharts.js');
var app =getApp();
var daylineChart=null;
var yuelineChart=null;
const DB = wx.cloud.database().collection("sersor-data");
Page({
  /**   * 页面的初始数据   */  
  data: {
  datalist:[]
  },   
  getMothElectro: function () {    
  	var that = this;    
  	//sersor-data为要显示的云数据库的集合名称    				wx.cloud.database().collection("sersor-data").get({      
  	success(res) {        
  		console.log("请求成功", res)        
  	that.setData({          
  		datalist: res.data        
  	})        
  	console.log("123", that.data.datalist)        
  	var legendList = []        
  //数据库循环数据找出要显示的LightLux字段并加入到数组legendList = []中。
      for (var i in that.data.datalist) {
      //我需要显示的是查询的数组中reult数据中的LightLux值,根据自己的数据改动          
  	var obj = that.data.datalist[i].result.LightLux;
  	          	legendList.push(obj)          
 			 var windowWidth = 320;          
  try {            
  	var res = wx.getSystemInfoSync();            
  	windowWidth = res.windowWidth;          
  } catch (e) {            
  	console.error('getSystemInfoSync failed!');          
  	}          
  	yuelineChart = new wxCharts({            
 	 canvasId: 'yueEle',  //canvas名称          
  	type: 'line',            
  categories: ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24'], //categories X轴            
  	animation: true,                    
  	series: [{              
  		name: '光照强度',              
 	 	//data: yuesimulationData.data,              
  		data: legendList,//折线图数据显示              
  	format: function (val, name) {                
  	return val.toFixed(2) + 'kWh';              
  },
            }],
  xAxis: {              
           disableGrid: true            
           },           
  yAxis: {             
   title: '数据',              
   format: function (val) {               
    	return val.toFixed(2);             
     },              
    max: 20,              
    min: 0         /   
    },            
    width: windowWidth,            
    height: 400,            
    dataLabel: false,            
    dataPointShape: true,            
    extra: {              
    lineStyle: 'curve'            
    }          
    });
        
       		}      
        },      
        fail(res) {        
        console.log("请求失败", res)      
        }    
     })  
},


  yueTouchHandler: function (e) { //点击显示详细信息    yuelineChart.showToolTip(e, { //showToolTip图表中展示数据详细内容      background: '#7cb5ec',      
  format: function (item, category) {        
  return category + '时 ' + item.name + ':' + item.data      
  }   
   }); 
    },

  /**   * 生命周期函数--监听页面加载   */  
  onLoad: function (options) {    
  this.getMothElectro();//加载当月用电
  },
   })

chart.wxml

<!--pages/warn/warn.wxml-->
<canvas
  style="width: 100%; height: 700px;"
  canvas-id="yueEle"
  binderror="canvasIdErrorCallback"  bindtouchstart="yueTouchHandler"  ></canvas>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值