ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

微信小程序中使用echarts

2019-06-24 14:02:01  阅读:1561  来源: 互联网

标签:00 微信 程序 canvas chart res var data echarts


一、效果图

二、代码

import * as echarts from '../../component/ec-canvas/echarts';
const app = getApp();
var xData = ["1:00", "2:00", "3:00", "4:00", "5:00", "6:00", "7:00", "8:00", "9:00", "10:00", "11:00", "12:00", "13:00", "14:00", "15:00"], yData = [], chart, charts, pc=0, mobile=0;
function initChart(canvas, width, height) {
  chart = echarts.init(canvas, null, {
    width: width,
    height: height
  });
  canvas.setChart(chart);
  var option = {
    color: ["#37A2DA"],
    xAxis: {
      type: 'category',
      boundaryGap: false,
      data: xData,
    },
    yAxis: {
      x: 'center',
      type: 'value'
    },
    series: [{
      type: 'line',
      smooth: true,
      data: yData
    }]
  };
  chart.setOption(option);
  return chart;
}
function initCharts(canvas, width, height) {
  charts = echarts.init(canvas, null, {
    width: width,
    height: height
  });
  canvas.setChart(charts);

  var options = {
    color: ["#3498DB", "#E062AE"],
    tooltip: {
      trigger: 'item',
      formatter: "{a} {b}: {c} ({d}%)"
    },
    legend: {
      orient: 'vertical',
      x: 'left',
      paddingTop: '50px',
      data: ['移动端', 'PC端']
    },
    grid: {
      left: 20,
      right: 20,
      bottom: 15,
      top: 40,
      containLabel: true
    },
    
    series: [
      {
        name: '访问来源',
        type: 'pie',
        label: {
          normal: {
            show: true,
            position: 'outside',
            formatter: '{b}:{c}'
          },
          emphasis: {
            show: true,
            textStyle: {
              fontSize: '20',
              fontWeight: 'bold'
            }
          }
        },
        data: [
          { value: mobile, name: "移动端" },
          { value: pc, name:"PC端"}
        ]
      }
    ]
  };

  charts.setOption(options);
  return charts;
}
Page({
  data: {
    tabs: ["今日", "昨日", "近7日", "近30日"],
    activeIndex: 0,
    sliderOffset: 0,
    sliderLeft: 0,
    ec: {
      onInit: initChart
    },
    ecs: {
      onInit: initCharts
    }
  },
  onl oad: function (options) {
    var that = this;
    app.initNavbar(that);
  },
  onShow: function () {
    var that = this;
    setTimeout(function () {
      that.getDataInfo(0)
    }, 500)
  },
  tabClick: function (e) {
    this.setData({
      sliderOffset: e.currentTarget.offsetLeft,
      activeIndex: e.currentTarget.id
    });
    this.getDataInfo(e.currentTarget.id);
  },
  getDataInfo(index) {
    wx.showLoading({
      title: '正在加载...',
      mask: true
    });
    var that = this;
    wx.request({
      url: app.api.getData,
      data: {
        userid: wx.getStorageSync("userInfo").userid,
        action: index
      },
      success(res) {
        var yData = res.data.yData;
        var xData = res.data.xData;
        var option = chart.getOption();
        option.series[0].data = yData;
        option.xAxis = {
          type: 'category',
          boundaryGap: false,
          data: xData,
        };
        chart.setOption(option, true);
        var options = charts.getOption();
        options.series[0].data[0].value = res.data.mobile.num;
        options.series[0].data[1].value = res.data.pc.num;
        charts.setOption(options, true);
        that.setData({
          ip: res.data.ip,
          messall: res.data.messall,
          view: res.data.view
        })    
      },
      error() {
        app.errorModal("网络出错");
      },
      complete() {
        wx.hideLoading();
      }
    })
  }
})
<ec-canvas id="mychart-dom-line" canvas-id="mychart-line" ec="{{ ec }}"></ec-canvas>

三、下载

下载ec-cavas地址:https://github.com/ecomfe/echarts-for-weixin

四、Demo

 

标签:00,微信,程序,canvas,chart,res,var,data,echarts
来源: https://www.cnblogs.com/yang-2018/p/11076629.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有