原生小程序实现折线图wx-charts(比echars体积小很多)

        因工作需要做折线图,做插件的时候使用echars的定制折线图,但是体积还是太大了,就定制了一个体积就有500kb,所以后来大改,全部改用wx-charts显示折线图,只有40kb左右,做个普通的显示图表还是很不错的选择

实现效果如图:

1.首先下载wx-charts图表,选择我框的这个压缩后的文件就行

2.可以看看wx-charts官网

3.在需要使用图表的pages页面的wxml文件下先定义一个画布,

canvas-id:这个很重要,自己定义个属性值,对应后面的js代码!!!

  <view class="mychart-view">
        <canvas canvas-id="areaCanvas" disable-scroll="true" class="canvas"></canvas>
    </view>

4.在wxss页面给画布添加宽度和高度,我在这边的画布父级添加了宽高,当然你也可以直接给canvas添加宽高,如果不添加宽高可能导致无法正常显示哦

  .mychart-view,.mychart-wd{
    margin-top: 50rpx;
    width: 100%;
    height: 520rpx;
  }
  .canvas{
    width: 100%;
    height: 100%;
}

5.到了最重要的js代码了!

5.1-首先先把下好的wxcharts-min.js文件放在项目公用的文件夹下,之后导入到需要使用的页面的js文件中,我在这是放在了api的文件,可以自行更改哈~

import wxCharts from '../../api/wxcharts-min'

js文件如下, x轴和y轴数据都是后台反的数据哈,是以['1','2','3']这种格式的,如果想使用静态可以使用这种格式显示哈~,顺便提一嘴,函数要定义在page({})的外面,和page同级,如果page里要调用,可以使用函数名的形式调用echartsdt()

function echartsdt() {
  var windowWidth = '',
    windowHeight = ''; //定义宽高
  try {
    var res = wx.getSystemInfoSync(); //试图获取屏幕宽高数据
    windowWidth = res.windowWidth / 750 * 650; //以设计图750为主进行比例算换
    windowHeight = res.windowWidth / 750 * 500 //以设计图750为主进行比例算换
  } catch (e) {
    console.error('getSystemInfoSync failed!'); //如果获取失败
  }
  new wxCharts({
    canvasId: 'areaCanvas',
    type: 'area',
    categories: dateechars,//x轴数据
    animation: true,
    legend: false,
    series: [{
      name: '步数',
      data: all_walk,//y轴数据
      color: '#9ad672' //折线颜色
    }],
    yAxis: {
      title: '步数/步',
      min: 0,
      gridColor: '#e0e6f1',
      type: 'value'
    },
    xAxis: {},
    extra: {
      legendTextColor: '#333',
      // lineStyle: 'curve'
    },
    width: windowWidth * 1.1, //图表展示内容宽度
    height: windowHeight, //图表展示内容高度
  });

}

讲解结束啦~希望对你有所帮助

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值