小程序 · 2023年10月7日

微信小程序中使用ECharts 异步加载数据的方法

这篇文章主要介绍了微信小程序中使用echarts 数据的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

官网例子都是同步的,怎么引入及同步demo请移步官网

<view>
 <ec-canvas></ec-canvas>
 <ec-canvas></ec-canvas></view>

登录后复制

import * as echarts from '../../ec-canvas/echarts';
Page({
 data: {
  ecBar: {
   lazyLoad: true // 延迟加载
  },
  ecScatter: {
   lazyLoad: true 
  }
 },
 onLoad(){
  this.barComponent = this.selectComponent('#mychart-dom-multi-bar');
  this.scaComponnet = this.selectComponent('#mychart-dom-multi-scatter');
  this.init_bar();
  this.init_sca();
 },
 init_bar: function (){
  this.barComponent.init((canvas, width, height) =&gt; {
   // 初始化图表
   const barChart = echarts.init(canvas, null, {
    width: width,
    height: height
   });
   barChart.setOption(this.getBarOption());
   // 注意这里一定要返回 chart 实例,否则会影响事件处理等
   return barChart;
  });
 },
 init_sca: function () {
  this.scaComponnet.init((canvas, width, height) =&gt; {
   // 初始化图表
   const scaChart = echarts.init(canvas, null, {
    width: width,
    height: height
   });
   scaChart.setOption(this.getScaOption());
   // 注意这里一定要返回 chart 实例,否则会影响事件处理等
   return scaChart;
  });
 },
 getBarOption:function(){
  //return 请求数据
  return {
   color: ['#37a2da', '#32c5e9', '#67e0e3'],
   tooltip: {
    trigger: 'axis',
    axisPointer: {      // 坐标轴指示器,坐标轴触发有效
     type: 'shadow'    // 默认为直线,可选为:'line' | 'shadow'
    }
   },
   legend: {
    data: ['热度', '正面', '负面']
   },
   grid: {
    left: 20,
    right: 20,
    bottom: 15,
    top: 40,
    containLabel: true
   },
   xAxis: [
    {
     type: 'value',
     axisLine: {
      lineStyle: {
       color: '#999'
      }
     },
     axisLabel: {
      color: '#666'
     }
    }
   ],
   yAxis: [
    {
     type: 'category',
     axisTick: { show: false },
     data: ['汽车之家', '今日头条', '百度贴吧', '一点资讯', '微信', '微博', '知乎'],
     axisLine: {
      lineStyle: {
       color: '#999'
      }
     },
     axisLabel: {
      color: '#666'
     }
    }
   ],
   series: [
    {
     name: '热度',
     type: 'bar',
     label: {
      normal: {
       show: true,
       position: 'inside'
      }
     },
     data: [300, 270, 340, 344, 300, 320, 310]
    },
    {
     name: '正面',
     type: 'bar',
     stack: '总量',
     label: {
      normal: {
       show: true
      }
     },
     data: [120, 102, 141, 174, 190, 250, 220]
    },
    {
     name: '负面',
     type: 'bar',
     stack: '总量',
     label: {
      normal: {
       show: true,
       position: 'left'
      }
     },
     data: [-20, -32, -21, -34, -90, -130, -110]
    }
   ]
  };
 },
 getScaOption:function(){
  //请求数据 
  var data = [];
  var data2 = [];
  for (var i = 0; i <p><span style="color: #ff0000">注意:异步加载时,ec-canvas标签加载显示要先于this.scaComponnet.init,否则会报错。</span></p><p>以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!</p><p>相关推荐:</p><p><a title="关于微信小程序中跳转传参数与传对象的解析" href="http://www.php.cn/xiaochengxu-405129.html" target="_blank">关于微信小程序中跳转传参数与传对象的解析</a><br></p><p><a title="微信小程序中支付后调用SDK的异步通知及验证处理订单方法" href="http://www.php.cn/xiaochengxu-405100.html" target="_blank">微信小程序中支付后调用SDK的异步通知及验证处理订单方法</a><br></p><p><a title="关于微信小程序的异步处理" href="http://www.php.cn/xiaochengxu-405102.html" target="_blank">关于微信小程序的异步处理</a></p><p class="clearfix"><span class="jbTestPos"></span></p>

登录后复制

以上就是微信小程序中使用ECharts 数据的方法的详细内容,更多请关注GTHOST其它相关文章!