子洋丶 2019-01-04 18:04 采纳率: 100%
浏览 2181
已采纳

关于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条回答 默认 最新

  • 妖王令剑 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]
        })
    };
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 程序员的键盘 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]};})

    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 Tpad api账户 api口令
  • ¥30 ppt进度条制作,vba语言
  • ¥15 stc12c5a60s2单片机测光敏ADC
  • ¥15 生信simpleaffy包下载
  • ¥15 请教一下simulink中S函数相关问题
  • ¥15 在二层网络中,掩码存在包含关系即可通信
  • ¥15 端口转发器解析失败不知道电脑设置了啥
  • ¥15 Latex算法流程图行号自定义
  • ¥15 关于#python#的问题:我在自己的电脑上运行起来总是报错,希望能给我一个详细的教程,(开发工具-github)
  • ¥40 基于51单片机实现球赛计分器功能