Echarts动态赋值

本文介绍了Echarts插件的使用,通过下载百度提供的插件并将其引入项目,然后在页面创建div展示图表。文章重点讲解如何将获取的数据转换为JSON对象并赋值到Echarts的series和legend中,实现动态数据的展示。

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

Echarts是百度开发的插件,非常实用,对数据进行统计和分析有着高效效率,它节省了开发人员的大部分开发时间。

       下面就简单介绍一下如何实用echarts这个插件。

首先下载百度的插件:地址:http://echarts.baidu.com/echarts2/doc/example.html

               下载完成后,我们要将 echarts-xxx\doc\example\www文件夹下的js考本到项目中,然后新建一个页面,在页面引用一个js文件夹中echarts.js文件。

在新建 的页面中,添加一个div。

<span style="white-space:pre">        </span><div id="main" style="height:500px;border:1px solid #ccc;padding:10px;"></div>  
              然后添加一个js文件,进行插件的配置和数据绑定,如下:
[javascript] view plain copy 在CODE上查看代码片派生到我的代码片
// Step:3 为模块加载器配置echarts的路径,从当前页面链接到echarts.js,定义所需图表路径  
require.config({  
    paths: {  
        echarts: './js'  
    }  
});  
// Step:4 动态加载echarts然后在回调函数中开始使用,注意保持按需加载结构定义图表路径  
require(  
    [  
         'echarts',  
         'echarts/chart/bar',  
         'echarts/chart/line',  
    ],  
    function (ec) {  
        var myChart = ec.init(document.getElementById('main'));  
        myChart.setOption({  
            tooltip: {  
                trigger: 'axis'  
            },  
            legend: {  
                data: ['蒸发量', '降水量']  
            },  
            toolbox: {  
                show: true,  
                feature: {  
                    mark: { show: true },  
                    dataView: { show: true, readOnly: false },  
                    magicType: { show: true, type: ['line', 'bar'] },  
                    restore: { show: true },  
                    saveAsImage: { show: true }  
                }  
            },  
            calculable: true,  
            xAxis: [  
                {  
                    type: 'category',  
                    data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']  
                }  
            ],  
            yAxis: [  
                {  
                    type: 'value',  
                    splitArea: { show: true }  
                }  
            ],  
            series: [  
                {  
                    name: '蒸发量',  
                    type: 'bar',  
                    data: [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]  
                },  
                {  
                    name: '降水量',  
                    type: 'bar',  
                    data: [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3]  
                }  
            ]  
        });  
    }  
);  

这样插件的例图就可以显示到页面上了,显示到页面上得例图中的数据是假的,所以我们要进行修改,如何修改series中name,data的数据和legend中的data数据呢?

        首先,我们要把得到的数据,转换成json对象,然后我们把json对象放到数组中,这样我们就可以赋值到data中了。

具体做法如下:

var Arr = new Array();//地址  
  var ArrNum = new Array()//个数  
  
  $.ajax({  
      type: 'post',  
      url: '../GetAreaData.ashx',  
      dataType: 'json',  
      async: false,  
      success: function (result) {  
          if (result != null) {  
              var obj = eval(result);//转换为JSON对象  
              for (var i = 0; i < obj.length; i++) {  
                  Arr.push( obj[i].DZQ);//存入arr  
                  ArrNum.push({"name":obj[i].DZQ,"data": obj[i].CDZNum});//存入arrnum</span>  
              }  
legend: {  
                     orient: 'vertical',  
                     left: 'right',  
                     data: Arr  
                 },  
[javascript] view plain copy 在CODE上查看代码片派生到我的代码片
series: [  
                      {  
                          name: '访问来源',  
                          type: 'pie',  
                          radius: '55%',  
                          center: ['50%', '60%'],  
                          data:ArrNum,  
                          itemStyle: {  
                              emphasis: {  
                                  shadowBlur: 10,  
                                  shadowOffsetX: 0,  
                                  shadowColor: 'rgba(0, 0, 0, 0.5)'  
                              }  
                          }  
                      }  
                  ]  
我项目中用的饼图,所以和上面的实例过程不太一样,不过,具体如何赋值,我已经说得很清楚了。



评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值