微信小程序 echarts 画多个横向柱状图

然后是json

javascript 复制代码
{
  "usingComponents": {
    "ec-canvas": "../../common/ec-canvas/ec-canvas"
  },
  "navigationBarTitleText": "主题活动"
}

ec-canvas获取方式 在链接里下载代码 然后copy ec-canvas文件夹到自己的项目

https://gitcode.net/mirrors/ecomfe/echarts-for-weixin?utm_source=csdn_github_accelerator&from_codechina=yeshttps://gitcode.net/mirrors/ecomfe/echarts-for-weixin?utm_source=csdn_github_accelerator&from_codechina=yes

javascript 复制代码
//js里引入echarts 在page上面
import * as echarts from '../../common/ec-canvas/echarts'
Page({...})
  getStatisticThemeActivitiesTrend(){
    const that = this
    let oUserInfo = this.data.userInfo
    util.request(api.statisticThemeActivitiesTrend + oUserInfo.userId + '&startDate=' + that.data.startDate + '&endDate=' + that.data.endDate, '', 'get').then(res => {
      if (res.code == 200) {
        let odata = res.data
        this.setData({
          info: odata
        })

        if(!odata.themeList || odata.themeList.length == 0){
          util.alert("暂无数据")
          return
        }
        
        //主要代码
        odata.themeList.forEach(function (item, index) {        
          let echartsComponnet = that.selectComponent('#area-dom-'+index);
          echartsComponnet.init((canvas, width, height, dpr) => {
            // 初始化图表
            const Chart = echarts.init(canvas, null, {
              width: width,
              height: height,
              devicePixelRatio: dpr
            });
            Chart.setOption(that.getAreaPie(item));
            // 注意这里一定要返回 chart 实例,否则会影响事件处理等
            return Chart;
          });          
        })
      } else {
        wx.showModal({
          title: res.msg,
          icon: 'error',
          showCancel: false,
          duration: 3000
        });
      }
    });
  },

  getAreaPie(odata) {    
    let option = {
      grid: { //图表距边框的距离
        top: 0,
        right: 30,        
        bottom: 0,
        left: 0,
        containLabel: false,
      },
      xAxis: {
        type: 'value',
        "splitLine": {     //网格线
          "show": false
        }
      },
      yAxis: {
        show : false,
        type: 'category',
        data: ['','','','']
      },
      series: [
        {
          data: [
            odata.countActivityNumber, 
            odata.countPhysicalRecordNumber, 
            odata.countDetailNumber, 
            odata.countObservationNumber],
          type: 'bar',
          itemStyle: {   
            //通常情况下:
            normal:{  
              label : {
                show: true,
                position: 'right',
              },
         //每个柱子的颜色即为colorList数组里的每一项,如果柱子数目多于colorList的长度,则柱子颜色循环使用该数组
              color: function (params){
                var colorList = ['#70b603', '#00bfbf', '#027db4', '#6300bf']
                return colorList[params.dataIndex];
              }
            },
            //鼠标悬停时:
            emphasis: {
              shadowBlur: 10,
              shadowOffsetX: 0,
              shadowColor: 'rgba(0, 0, 0, 0.5)'
            },
          },
        }
      ]
    };
    return option
  },
相关推荐
码界筑梦坊3 小时前
114-基于Python的1688电脑硬件数据可视化分析系统
开发语言·python·信息可视化·数据分析·毕业设计·echarts·数据可视化
码界筑梦坊6 小时前
112-基于Flask的游戏行业销售数据可视化分析系统
开发语言·python·游戏·信息可视化·flask·毕业设计·echarts
神探小白牙20 小时前
eCharts 多系列柱状图增加背景图
javascript·ecmascript·echarts
Greg_Zhong21 小时前
微信小程序如何关闭:当前渲染模式为webview?
微信小程序·微信小程序渲染引擎·渲染引擎需搭配更高基础库
橘子海全栈攻城狮1 天前
【最新源码】养老院系统管理A013
java·spring boot·后端·web安全·微信小程序
计算机学姐1 天前
基于微信小程序的校园失物招领管理系统【uniapp+springboot+vue】
java·vue.js·spring boot·mysql·信息可视化·微信小程序·uni-app
SkyWalking中文站1 天前
用 SkyWalking 监控微信和支付宝小程序
微信·微信小程序·支付宝
计算机学姐1 天前
基于微信小程序的宠物服务系统【uniapp+springboot+vue】
java·vue.js·spring boot·mysql·微信小程序·uni-app·宠物
Greg_Zhong1 天前
微信小程序中实现自定义多选效果(完整实现及问题记录)
微信小程序·自定义多选控件
独角鲸网络安全实验室2 天前
2026微信小程序抓包全解析:从实操落地到合规风控,解锁前端调试新范式
前端·微信小程序·小程序·抓包·系统代理绕过·https证书严格校验·进程隔离