echarts动态加载数据

本文介绍了一种使用ECharts和jQuery实现数据可视化的解决方案。通过解析c标签内的数据,利用jQuery的循环方法和数组push操作,实现了从表格中获取时间、名称和金额等数据,最终在ECharts中展示为柱状图。该方法适用于需要动态生成图表的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     今天处理了之前遇到的一个难题,就是echarts从c标签里获取值,并显示,我是根据jquery的$().each(function())循环方法,把c标签的值循环出来,并用push()数组方法进行存值,

一下是示例代码:

 

      
//table  c标签
<table class="table tb-type2" id="contentTable" style="display:none">
            <caption>${fn:substring(el.startTime, 0, 7) } 至 ${fn:substring(el.lastTime, 0, 7) } 税种走势</caption>
          <thead>
              <tr class="timetr">
                <th></th>
                <c:forEach items="${yearMonthLists}"  var="el">
                <th class="time">${el }</th>
                </c:forEach>
            </tr>
          </thead>
          <tbody>
              <c:forEach items="${twelveList}" var="el">
              <tr>
                  <th class="name">${el.key }</th>
                  <c:forEach items="${el.value}" var="e">
                <td class="amout">${e.amount}</td>
                </c:forEach>
            </tr>
            </c:forEach>
          </tbody>
        </table>

//jquery,echarts
  <script type="text/javascript">
    debugger;
      //时间集合
       var arrtime=[ ];
      //金额集合
      var arramount=[ ];
      //名称集合
      var arrname=[ ];
      //时间
        var time;
      //金额
        var amount;
      //名称
      var name;
        // 基于准备好的dom,初始化echarts实例
        var myChart = echarts.init(document.getElementById('main'));
       //时间
          $(".time").each(function(i){
              time=$(this).context.innerText;
              arrtime.push(time);
          });
       //名称
          $(".name").each(function(){
              name=$(this).context.innerText;
              arrname.push(name);
            //  alert($(this).context.innerText);
          });
          
       //金额
          $(".amout").each(function(){
              console.info("获取行时间对象"+$(this));
               console.info("获取行时间值:"+$(this).context.innerText);
               amount=$(this).context.innerText;
               arramount.push(amount);
              //alert($(this).context.innerText);

          });
          // 指定图表的配置项和数据
        var option = {
                title: {
                    text: '柱状图'
                },
                   tooltip: {
                        trigger: 'axis',
                        axisPointer: {
                            type: 'cross',
                            crossStyle: {
                                color: '#999'
                            }
                        }
                    },
                    toolbox: {
                        feature: {
                            dataView: {show: true, readOnly: false},
                            magicType: {show: true, type: ['line', 'bar']},
                            restore: {show: true},
                            saveAsImage: {show: true}
                        }
                    },
            legend: {
                data:arrname
            },
            xAxis: {
            data:arrtime
            },
            yAxis: {},
            series: 
             [{
                name: arrname,
                type: 'bar',
                data: arramount
            },
            {
                name: arrname,
                type: 'bar',
                data: arramount
            }
            ]
        };

        // 使用刚指定的配置项和数据显示图表。
        myChart.setOption(option);
    </script>

 

转载于:https://www.cnblogs.com/ztyc/p/10187701.html

在Vue中使用Echarts动态加载数据的步骤如下: 1. 首先,需要在Vue组件中定义一个方法来获取动态数据。可以使用异步请求或者其他方式获取数据。在这个方法中,将获取到的数据处理成Echarts所需的格式,并将其赋值给一个变量,比如`eacartsData`。\[3\] 2. 在Vue组件的模板中,使用一个`div`元素来包裹Echarts图表,并给该`div`元素一个唯一的id,比如`echartsOne`。\[2\] 3. 在Vue组件的`mounted`生命周期钩子函数中,调用一个绘制Echarts图表的方法,比如`getEcharts()`。在这个方法中,使用`document.getElementById`方法获取到包裹Echarts图表的`div`元素,然后使用`echarts.init`方法初始化一个Echarts实例,并将其赋值给一个变量,比如`myChart`。接着,定义一个`option`对象,配置Echarts图表的样式和数据。在`series`属性中,将之前处理好的动态数据`eacartsData`赋值给`data`属性。最后,使用`myChart.setOption`方法将配置好的`option`应用到Echarts实例中。\[1\] 4. 最后,在获取到动态数据后,调用获取数据的方法,比如`getData()`。在这个方法中,通过异步请求或其他方式获取到数据,并将其处理成Echarts所需的格式。然后,将处理好的数据赋值给`eacartsData`变量,并调用`this.getEcharts()`方法重新绘制Echarts图表。\[3\] 这样,就可以实现在Vue中动态加载数据并绘制Echarts图表了。 #### 引用[.reference_title] - *1* *2* *3* [vue引入echarts图表,动态获取数据](https://blog.youkuaiyun.com/cuiyiran_/article/details/125456085)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值