微信小程序中使用ECharts方法

文章介绍了如何在微信小程序中使用echarts-for-weixin组件来兼容并展示ECharts图表,包括下载项目、引入文件、配置json、设置样式以及在js中初始化和设置图表选项。通过这种方法,可以在小程序中实现数据可视化。
摘要由CSDN通过智能技术生成

官网中介绍到:为了兼容小程序 Canvas,微信小程序提供了一个小程序的组件,echarts-for-weixin用这种方式可以方便地使用 ECharts。

进入github下载

下载完项目后把文件中ec-canvas文件,放到你的小程序的page目录下,或者你的components组件文件夹下,将echarts.js引入到你需要展示图表的.json文件,如果希望减小包体积大小, 可以使用自定义构建生成并替换掉你文件内 echarts.js;

在需要展示图表的文件夹对应的.json文件内引入echarts.js,如下:

//例如你的页面名叫myEcharts,需在myEcharts.json中配置,如下:
{
  "usingComponents": {
    "ec-canvas": "../../../components/ec-canvas/ec-canvas"
  },
}

在myEcharts.wxml使用,如下:

<view>
     <!--ec是组件对象,对应着js文件里data的ec,canvas需要给一个宽度、高度-->
	 <ec-canvas id="mychart-dom-bar" class="myCanvas" canvas-id="mychart-bar" ec="{{ec}}"></ec-canvas>
</view>

在myEcharts.wxss中加入宽高:

.myCanvas canvas{
  width: 100%;
  height: 300rpx!important;
}

在myEcharts.js中写法,如下:

import * as echarts from "../../components/ec-canvas/echarts.js"; //这个是ec-canvas 目录下的 echarts.js
// 获取应用实例
const app = getApp()
let chart = null;

function setOption(chart) {
  var option = {
    legend: {
      // Try 'horizontal'
      orient: 'vertical',
      right: 10,
      top: 'center'
    },
    dataset: {
      source: [
        ['product', '2015', '2016', '2017'],
        ['Matcha Latte', 43.3, 85.8, 93.7],
        ['Milk Tea', 83.1, 73.4, 55.1],
        ['Cheese Cocoa', 86.4, 65.2, 82.5],
        ['Walnut Brownie', 72.4, 53.9, 39.1]
      ]
    },
    xAxis: {
      type: 'category'
    },
    yAxis: {},
    series: [{
      type: 'bar'
    }, {
      type: 'bar'
    }, {
      type: 'bar'
    }]
  }
  chart.setOption(option);
  return chart;
}
Component({
  data: {
    ec: {
      lazyLoad: true,
    },
  },
  lifetimes: {
    ready() {
      this.initpie();
    }
  },
  methods: {
    initpie: function () {
      let ecComponent = this.selectComponent('#mychart-dom-bar');
      ecComponent.init((canvas, width, height, dpr) => {
        // 获取组件的 canvas、width、height 后的回调函数
        // 在这里初始化图表
        chart = echarts.init(canvas, null, {
          width: width,
          height: height,
          devicePixelRatio: dpr // new
        });
        setOption(chart);
        return chart;
      });
    },
  },
});

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值