处理ECharts收到的数据,动态option

(一)数据格式

     

   data = [
               {"RYLB_TEXT": "xxxx1","A01008_BA_2": 15, "A01008_BA_1": 20,},
               { "RYLB_TEXT": "xxxx2","A01008_BA_2": 12,"A01008_BA_1": 18,}
          ];


    orgOptions = {
                    "keys": [{"col": "RYLB_TEXT",},],
                    "values": [
                         { "name": "",
                            "cols": [
                                {   "col": "A01008_BA_1",
                                    "alias": "当前资金余额",'
                                    BAMetaAttributes': {'color2': 'rgba(89, 201, 253, 0.5)'}
                                }, 
                                {"col": "A01008_BA_2",
                                    "alias": "期末可用余额",
                                    'BAMetaAttributes': { 'color2': 'rgba(89, 201, 253, 1)'}
                                 }
                                ]
                            }]
                       };

(二)处理数据

        因为 ECharts 中 option 需要的数据不同 例如 series 柱状图中 series 是数组类的值 这时候我们就需要将data的数据处理成 {name:xxxx1, type: 'bar', data:[15,12]} 这种格式

(三)方法处理

         

       var years = data.map(item => item[orgOptions.keys[0].col]);

        var categories = orgOptions.values[0].cols.map(col => col.alias);

        var seriesData = categories.map((category, index) => {

            return {

                name: category,

                type: 'bar',

                data: data.map(item => item[orgOptions.values[0].cols[index].col])

            };

        });

(四)放入option

var option = {

            xAxis: {

                type: 'category',

                data: years

            },

            yAxis: {

                type: 'value'

            },

            legend:{

                top: '10%',

                data: categories

            },

            series: seriesData

        };

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ECharts是一个基于JavaScript的开源可视化库,用于构建交互式的数据可视化图表。它支持多种图表类型,包括折线图、柱状图、饼图、散点图等,并且可以通过动态数据实现实时更新和交互效果。 要实现ECharts动态数据效果,可以通过以下几个步骤: 1. 初始化ECharts实例:首先需要创建一个ECharts实例,并指定一个DOM元素作为容器。 2. 定义图表配置项:通过配置项可以设置图表的样式、数据和交互行为。在配置项中,可以定义一个或多个系列(series),每个系列对应一种图表类型。 3. 更新数据:通过调用ECharts实例的setOption方法,可以更新图表的数据。可以通过定时器、Ajax请求或其他方式获取最新的数据,并将数据更新到配置项中。 4. 刷新图表:调用ECharts实例的方法(如refresh)可以刷新图表,使其显示最新的数据。 下面是一个简单的示例代码,展示了如何使用ECharts实现动态数据效果: ```javascript // 初始化ECharts实例 var myChart = echarts.init(document.getElementById('chartContainer')); // 定义图表配置项 var option = { xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, yAxis: { type: 'value' }, series: [{ data: [120, 200, 150, 80, 70, 110, 130], type: 'bar' }] }; // 更新数据 function updateData() { // 模拟获取最新数据 var newData = [150, 180, 200, 90, 120, 160, 140]; option.series.data = newData; // 刷新图表 myChart.setOption(option); } // 每隔一段时间更新数据 setInterval(updateData, 2000); ``` 这段代码创建了一个柱状图,x轴表示星期几,y轴表示某项指标的数值。通过定时器每隔2秒更新一次数据,实现了动态效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值