小程序echart动态赋值

首先,当你到达这一步时,你已经吧echart引入小程序。所以直接进入主题(如小程序里还未引入echart,可参考https://blog.csdn.net/weixin_41760500/article/details/100540583

可以先看整体效果,还附带了tab切换,可自行删改:
在这里插入图片描述
1、wxml

<view class="slid-wrap">
  <!-- 选项栏 -->
  <view class="title">
    <view wx:for="{{list}}" wx:key="index" data-index="{{index}}" class="list_item {{activeIndex == index ? 'on' : ''}}" bindtap="tabClick">{{item}}
    </view>
  </view>
  <!-- 内容 -->
  <view class="content">
    <view style="display:{{activeIndex !== 0 ? 'none' : 'block'}}">
      <view class="container">
        <ec-canvas id="mychart-one" canvas-id="mychart-multi-one" ec="{{ ec }}"></ec-canvas>
      </view>
    </view>
    <view style="display:{{activeIndex !== 1 ? 'none' : 'block'}}">1</view>
    <view style="display:{{activeIndex !== 2 ? 'none' : 'block'}}">3</view>
    <view style="display:{{activeIndex !== 3 ? 'none' : 'block'}}">4</view>
  </view>
</view>

2、wxss


.container{
  padding: 0;
}
ec-canvas{
  width:700rpx;    
  height: 700rpx;
  margin: 0 auto;
}
  .slid-wrap .title {
    display: flex;
    flex-direction: row;
  }
  .slid-wrap .title .list_item {
    flex-grow: 1;
    box-sizing: border-box;
    height: 85rpx;
    font-size: 32rpx;
    text-align: center;
    line-height: 85rpx;
    border-bottom: 4rpx solid #eee;
  }
  .slid-wrap .title .on {
    border-bottom: 4rpx solid #0770EB;
    color: #0770EB;
  }

3、js

	import * as echarts from '../../../ec-canvas/echarts.min';
function setOption(chart, xlist, ylist1, ylist2) {
  var option = {
    legend: {
      data: ['邮件营销', '联盟广告']
    },

    xAxis: {
      type: 'category',
      boundaryGap: false,
      data: xlist
    },
    yAxis: {
      type: 'value'
    },
    series: [
      {
        name: '邮件营销',
        type: 'line',
        data: ylist1
      },
      {
        name: '联盟广告',
        type: 'line',
        data: ylist2 
      }
    ]
  };
  chart.setOption(option);
}
Page({

  /**
   * 页面的初始数据
   */
  data: {
    ec: {
      lazyLoad: true
    },
    xlist: [],
    ylist:[],
    ylist2:[],
    list: ['全款', '待收货', '待发货', '已收货'],
    activeIndex: 0
    
  },
  // tab切换
  tabClick(val) {
    this.setData({
      activeIndex: val.currentTarget.dataset.index
    })
  },
  
  getOneOption:function(){
    this.setData({
      xlist: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'],
      ylist: [120, 132, 101, 134, 90, 230, 210],
      ylist2:[220, 182, 191, 234, 290, 330, 310]
    })
    this.init_one(this.data.xlist, this.data.ylist, this.data.ylist2)
  },
  init_one: function (xdata, ylist1, ylist2) {           //初始化第一个图表
    console.log(this.oneComponent)
    this.oneComponent.init((canvas, width, height) => {
      const chart = echarts.init(canvas, null, {
        width: width,
        height: height
      });
      setOption(chart, xdata, ylist1, ylist2)  //赋值给echart图表
      this.chart = chart;
      return chart;
    });
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.oneComponent = this.selectComponent('#mychart-one');
    this.getOneOption();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
  
    
  },

})

请放心复制,绝逼能出来,注意import的引入echart路径需和你自己的保持一致
分析:
1、页面刚进来就调用oneComponent、getOneOption,其中getOneOption可以看成调接口拿数据的方法。
2、拿到数据后初始化我们的表格init_one,并把值传给setOption。
3、setOption拿到值后,赋值给对应的X轴,y轴

  • 10
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
Echart是一个基于JavaScript的数据可视化库,可以绘制各种图表,包括柱状图。柱状图是一种表示数据比较的图表,常用于展示不同类别或时间段之间的数据对比。 柱状图的动态赋值可以通过以下步骤实现: 1. 创建柱状图容器: 首先,在HTML文件创建一个容器元素,用于显示柱状图,例如: <div id="chartContainer" style="width: 400px;height: 300px;"></div> 2. 引入Echart库: 在页面引入Echart库的脚本文件,例如: <script src="https://cdn.jsdelivr.net/npm/echarts@5.2.1/dist/echarts.min.js"></script> 3. 初始化图表对象: 在JavaScript,使用Echart库的init方法初始化一个柱状图对象,例如: var chart = echarts.init(document.getElementById('chartContainer')); 4. 定义数据: 定义柱状图的数据,可以是静态数据或动态获取的数据,例如: var data = [10, 20, 30, 40, 50]; 5. 设置柱状图的配置项: 定义柱状图的样式和配置项,例如: var option = { xAxis: { type: 'category', data: ['A', 'B', 'C', 'D', 'E'] }, yAxis: {}, series: [{ type: 'bar', data: data }] }; 6. 更新数据并渲染图表: 通过设置柱状图的series.data属性为新的数据值,可以实现动态赋值,例如: // 更新数据 data = [20, 30, 40, 50, 60]; // 更新配置项的数据 option.series[0].data = data; // 使用新的配置项渲染图表 chart.setOption(option); 通过以上步骤,就可以实现Echart柱状图的动态赋值。不断更新数据,并通过setOption方法重新渲染图表,即可实现柱状图的动态效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值