weixin_42693699
枭筱龙
2019-01-04 18:04
采纳率: 71.4%
浏览 1.8k

关于Echarts饼图大量数据传输

图片说明
图片说明
声明一下环境:
我们用的工具是 QlikSense ,这是在调用echarts的时候的问题。

如图:由于数据量大,我在接收数据时,我把数据存在一个数组

存储代码如下
data 的两个个元素分别是两个字段数据。
这里把两个元素的数据分别存储在两个数组中。

        var data_w = new Array();
        var data_v1 = new Array();

        for(var i=0;i<data.length;i++){
             data_w[i] = data[i][0];
             data_v1[i] = data[i][1];
        };

我这里想在echarts的 data 这里这么做:
data[{value:data_w,name:data_v1}]

可是最后结果却不能出来,我查看了他转换后的数据

大概样式就是 : data_w_中的全部数据 : data_v1 _中的全部数据

我试过遍历出数据作为一个数组,结果不行,可能代码问题。
我想问一下各路大神是怎么在饼图中传输数据的。

换句话说,这种情况只允许 JSON 格式吗?
用其他引用变量的方式不可以吗??

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • qq_40021323
    妖王令剑 2019-01-07 09:11
    已采纳

    你转的数据格式错了, 直接把data数据转成 echarts 里需要的数据格式不行吗? 转成 newDataType = [ {name:"", value: "" }, {name:"", value: "" }] ,echarts直接用就行了( echarts里的 data: newDataType ); 至于是data[i][0]是name还是 value你要自己搞清楚了

    var newDataType = [];
    for(var i=0;i<data.length;i++){
         newDataType.push({
            name: data[i][1],
            value: data[i][0]
        })
    };
    
    点赞 评论
  • qq_35955916
    程序员的键盘 2019-01-05 17:13

    肯定只能json啊,你需要把你的数组数据转换成json对象
    然后图表里配置
    //你的data
    tempData=[['a',1],['b',2],['c',3]];

    data:tempData.map(item=>{return {name:item[0],value:item[1]};})

    点赞 评论

相关推荐