微信小程序使用echarts实现条形统计图功能

微信小程序使用echarts组件实现条形统计图功能

使用echarts实现在微信小程序中统计图的功能,其实很简单,只需要简单的两步就可以实现啦,具体思路如下:

  1. 引入echarts组件
  2. 调用相应的函数方法
    由于需要引入echarts组件,代码行数较多,无法在此粘贴,需要的友友们可以进我的主页,进行免费的资源下载,具体的实现结果截图如下:


    echarts组件代码较多,components文件夹的内容可在我主页的资源免费下载或者可前往echarts官网下载呦,引入的路径一定要正确。具体关于pages文件夹的代码如下:
    1、wxml代码:
html 复制代码
<view class="charts-box">
  <view style="height: 500rpx;">
    <ec-canvas canvas-id="mychart-bar" ec="{{spread}}"></ec-canvas>
  </view>
  <view class="charts-title">
    <view class="charts-pot"></view>
    <view>{{title}}</view>
  </view>
</view>

2、wxss代码:

css 复制代码
page {
  background-color: #f1f1f1;
}

.charts-box {
  background-color: white;
  margin: 20rpx;
  border-radius: 15rpx;
  padding: 20rpx;
}

.charts-title {
  display: flex;
  flex-direction: row;
  font-size: 24rpx;
  align-items: center;
  justify-content: center;
  color: rgb(173, 173, 173);
  margin: 30rpx 0 10rpx;
}

.charts-pot {
  width: 46rpx;
  height: 24rpx;
  background-color: #fcadb0;
  margin-right: 10rpx;
  border-radius: 10rpx;
  margin-top: 2rpx;
}

3、js代码:

javascript 复制代码
import * as echarts from '../../components/ec-canvas/echarts.min';
let chart = null;

Page({

  /**
   * 页面的初始数据
   */
  data: {
    title:'我的CSDN创作统计',
    spread: {
      onInit: initChart
    }
  },
})

function initChart(canvas, width, height, dpr) {
  chart = echarts.init(canvas, null, {
    width: width,
    height: height,
    devicePixelRatio: dpr // new
  });
  canvas.setChart(chart);
  let option = {
    tooltip: {
      trigger: 'axis',
      axisPointer: {
        type: 'shadow'
      }
    },
    grid: {
      left: '3%',
      right: '3%',
      bottom: '0%',
      containLabel: true
    },
    xAxis: [{
      type: 'category',
      data: ['文章总数', '经典界面', '微信小程序', '学习经验', '系统示例'],
      axisTick: {
        alignWithLabel: true
      }
    }],
    yAxis: [{
      type: 'value'
    }],
    series: [{
      name: '我的创作',
      type: 'bar',
      barWidth: '50%',
      data: [25, 1, 21, 2, 4],
      itemStyle: {
        color: '#fcadb0'
      }
    }]
  };
  chart.setOption(option);
  return chart;
}

4、json代码:

javascript 复制代码
{
  "component": true,
  "navigationBarTitleText": "echarts·条形统计图",
  "navigationBarBackgroundColor": "#008B8B",
  "usingComponents": {
    "ec-canvas":"../../components/ec-canvas/ec-canvas"
  }
}

我这里简单绘制的条形统计图,如需要其他的统计图,可自行学习或者进我主页,将分享更多内容呦~

小编创作不易,口干舌燥,可以的话,请我喝杯水吧!欢迎各位的批评指导呦~

相关推荐
tryCbest8 分钟前
Vue3——第 11 篇:组合式 API(上)——setup 与响应式 API 深度解析
前端·javascript·vue.js
tryCbest1 小时前
Vue3——第 13 篇:计算属性与侦听器——computed 与 watch 的进化
前端·javascript·vue.js
怒放的生命19911 小时前
本地用 pnpm 省磁盘,团队继续用 npm:极简实践
前端·npm·node.js
用户117953654781 小时前
企业团队编程软件怎么选:AI编程工具的协作与落地能力对比
javascript
believed_breadfruit1 小时前
我开源了一个HTML 分页导出工具,解决了复杂页面的内容截断、跨页错乱和长文档白屏问题
前端·javascript·github
福狼1 小时前
从“网墙”到柔性曲面:一次 WebGPU 波浪的逆向分析与重建
前端·逆向
Star(up up up)2 小时前
Docker系列---Docker容器基本命令(新手小白保姆级实操教程)
运维·学习·程序人生·青少年编程·docker·容器·dubbo
宝哥聊编程2 小时前
主流 Agent 平台对比:Coze、Dify、飞书、扣子、OpenClaw 落地实操手册
前端·人工智能·飞书
时间的情敌2 小时前
Vue3 + Cesium 实战:本地上传 GLB 模型、模型上叠加 GLB、点击控制透明度
前端·vue.js·cesium
拖孩2 小时前
流量主门槛从 500 降到 100,我的小程序上线 18 小时够到了线
前端·后端·微信小程序