欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

微信小程序中使用ECharts 异步加载数据实现图表功能

程序员文章站 2023-11-09 10:32:16
具体代码如下所示:

具体代码如下所示:

<view class="container">
 <ec-canvas id="mychart-dom-bar" canvas-id="mychart-bar" ec="{{ ec }}"></ec-canvas>
</view>
import * as echarts from '../../ec-canvas/echarts';
var barec = null
page({
 onshareappmessage: function (res) {
  return {
   title: 'echarts 可以在微信小程序中使用啦!',
   path: '/pages/index/index',
   success: function () { },
   fail: function () { }
  }
 },
 data: {
  ec: {
   oninit: function (canvas, width, height) {
    barec = echarts.init(canvas, null, {
     width: width,
     height: height
    });
    canvas.setchart(barec);
    return barec;
   }
  }
 },
 onready() {
  settimeout(this.getdata, 500);
 },
//getdata方法里发送ajax
 getdata(){
  wx.showloading({
   title: '加载中...',
  })
   wx.request({
    url: 'http://192.168.3.81/heart.php',
    herder:{
     "content-type":"json"
    },
    success:function(res){
     console.log(res);
     var data = res.data.info;
     console.log(data);
     barec.setoption({
      grid: {
       left: '3%',
       right: '7%',
       bottom: '3%',
       containlabel: true
      },
      tooltip: {
       // trigger: 'axis',
       showdelay: 0,
       formatter: function (params) {
        if (params.value.length > 1) {
         return params.seriesname + ' :<br/>'
          + params.value[0] + 'm '
          + params.value[1] + 'm ';
        }
        else {
         return params.seriesname + ' :<br/>'
          + params.name + ' : '
          + params.value + 'm ';
        }
       },
       axispointer: {
        show: true,
        type: 'cross',
        linestyle: {
         type: 'dashed',
         width: 1
        }
       }
      },
      legend: {
       data: ["学生"],
       left: 'center'
      },
      xaxis: [
       {
        type: 'value',
        scale: true,
        axislabel: {
         formatter: '{value} m'
        },
        splitline: {
         show: false
        }
       }
      ],
      yaxis: [
       {
        type: 'value',
        scale: true,
        axislabel: {
         formatter: '{value} m'
        },
        splitline: {
         show: false
        }
       }
      ],
      series: [{
       name: '学生',
      // symbolsize: 20,
       data:data,
       type: 'scatter',
       markarea: {
        silent: true,
        itemstyle: {
         normal: {
          color: 'transparent',
          borderwidth: 1,
          bordertype: 'dashed'
         }
        },
        data: [[{
         name: '教室',
         xaxis: '0',
         yaxis: '0'
        }, {
         xaxis: '20',
         yaxis: '20'
        }]]
       },
       markpoint: {
        // data: [
        //  { type: 'max', name: '最大值' },
        //  { type: 'min', name: '最小值' }
        // ]
       },
       markline: {
        linestyle: {
         normal: {
          type: 'solid'
         }
        },
        // data: [
        //  { type: 'average', name: '平均值' },
        //  { xaxis: 160 }
        // ]
       }
      }]
     })
     wx.hideloading(); 
    },
    fail: function (res) { },
    complete: function (res) { },
   })
 }
});

总结

以上所述是小编给大家介绍的微信小程序中使用echarts 异步加载数据实现图表功能,希望对大家有所帮助