关于Echarts饼图大量数据传输

https://img2.mukewang.com/5cd7ca950001f07d12920474.jpg

https://img4.mukewang.com/5cd7ca960001b2ab06630626.jpg

声明一下环境:
我们用的工具是 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 格式吗?
用其他引用变量的方式不可以吗??


偶然的你
浏览 1452回答 3
3回答

幕布斯6054654

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

撒科打诨

肯定只能json啊,你需要把你的数组数据转换成json对象然后图表里配置//你的datatempData=[['a',1],['b',2],['c',3]];data:tempData.map(item=>{return {name:item[0],value:item[1]};})

小唯快跑啊

遍历数组,返回新数组,新数组的成员为json对象,push是数组的方法,意思是往数组结尾追加成员
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript